Skip to content

πŸ“ TurtleRun Project Code Review Guide

JunHyung Cha edited this page Aug 7, 2025 · 1 revision

Code Review의 λͺ©μ 

TurtleRun ν”„λ‘œμ νŠΈμ—μ„œ μ½”λ“œ 리뷰λ₯Ό μ§„ν–‰ν•˜λŠ” λͺ©μ μ€ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.


μ½”λ“œ 리뷰둜 λ‹¬μ„±ν•˜κ³ μž ν•˜λŠ” 것듀

1. μ½”λ“œλ² μ΄μŠ€μ˜ 변동 사항을 νŒ€μ› λͺ¨λ‘κ°€ μ •ν™•νžˆ μΈμ§€ν•œλ‹€.
2. λ™λ£Œκ°€ μž‘μ„±ν•œ μ½”λ“œλ₯Ό 톡해 λ‚˜μ˜ μ„±μž₯을 도λͺ¨ν•˜κ³ , ν”Όλ“œλ°±μ„ 톡해 λ™λ£Œμ˜ μ„±μž₯을 μ΄λˆλ‹€.
3. μž‘μ—… 결과물의 μ±…μž„μ„ 개인이 μ•„λ‹Œ νŒ€μ› λͺ¨λ‘κ°€ ν•¨κ»˜ λ‚˜λˆˆλ‹€.

첫째, μ½”λ“œλ² μ΄μŠ€μ˜ 변동 이λ ₯을 νŒ€μ› λͺ¨λ‘κ°€ μ‹ μ†ν•˜κ²Œ νŒŒμ•…ν•  수 μžˆλ„λ‘ ν•˜κΈ° μœ„ν•¨μž…λ‹ˆλ‹€.

νŒ€μ˜ 규λͺ¨μ™€ 관계없이 ν”„λ‘œμ νŠΈ λ‚΄μ—μ„œ μ–΄λ–€ μˆ˜μ •, μΆ”κ°€, μ‚­μ œκ°€ 이루어지고 μžˆλŠ”μ§€ μ œλŒ€λ‘œ νŒŒμ•…ν•˜μ§€ λͺ»ν•˜λ©΄, 각자의 μž‘μ—…μ— νŒ€μ˜ κ΅¬ν˜„ μ˜λ„λ₯Ό μ •ν™•νžˆ λ°˜μ˜ν•˜κΈ° μ–΄λ ΅μŠ΅λ‹ˆλ‹€.
β€˜μ½”λ“œλ² μ΄μŠ€μ˜ μˆ˜μ • μΆ”μ β€™μ΄λΌλŠ” 과업을 κ°œμΈμ—κ²Œ μœ„μž„ν•˜κΈ°λ³΄λ‹€λŠ”, μ½”λ“œ λ¦¬λ·°λΌλŠ” μ œλ„λ₯Ό 톡해 λΆ€λ‹΄ 없이 μžμ—°μŠ€λŸ½κ²Œ μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λ‘˜μ§Έ, νŒ€μ˜ μ„±μž₯을 도λͺ¨ν•˜κΈ° μœ„ν•¨μž…λ‹ˆλ‹€.

각 νŒ€μ›μ΄ κ°€μ§„ 개발 μ—­λŸ‰κ³Ό μŠ€νƒ€μΌμ€ 각자의 κ²½ν—˜μ— 따라 λ‹€λ₯Ό μˆ˜λ°–μ— μ—†μŠ΅λ‹ˆλ‹€.
μ—­λŸ‰μ΄ 더 λ›°μ–΄λ‚œ μ‚¬λžŒμ΄ 일방적으둜 지식을 μ „λ‹¬ν•˜κ±°λ‚˜ κ΅μœ‘ν•˜λŠ” 방식은, 두 μ‚¬λžŒμ˜ μ„±μž₯ ν•œκ³„κ°€ ꡐ윑 제곡자의 μ—­λŸ‰μ— 머무λ₯΄κ²Œ λ§Œλ“­λ‹ˆλ‹€.
μ½”λ“œ 리뷰 κ³΅κ°„μ—μ„œλŠ” μ„œλ‘œμ˜ μž‘μ—…λ¬Όμ„ 더 λ‚˜μ€ λ°©ν–₯으둜 κ°œμ„ ν•˜λ €λŠ” 데 μ§‘μ€‘ν•˜κ²Œ λ˜λ―€λ‘œ, μ—­λŸ‰μ΄ 높은 μ‚¬λžŒλ„ μƒˆλ‘œμš΄ ν†΅μ°°μ΄λ‚˜ 미처 λͺ°λžλ˜ 지식을 얻을 수 있고, μƒˆλ‘œ ν•©λ₯˜ν•œ νŒ€μ›μ€ νŒ€μ˜ μ½”λ“œ μŠ€νƒ€μΌκ³Ό 문제 μ ‘κ·Ό 방식을 효율적으둜 ν•™μŠ΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ…‹μ§Έ, μž‘μ—…μ— λŒ€ν•œ μ±…μž„μ„ λΆ„μ‚°ν•˜κΈ° μœ„ν•¨μž…λ‹ˆλ‹€.

ν”„λ‘œκ·Έλž˜λ°μ€ μ‚¬λžŒμ΄ ν•˜λŠ” 일이기에 μ‹€μˆ˜λŠ” λ°˜λ“œμ‹œ λ°œμƒν•©λ‹ˆλ‹€.
μ½”λ“œ 리뷰λ₯Ό 톡해 영ν–₯도가 큰 μ‹€μˆ˜λ₯Ό 사전에 차단할 수 있으며, 리뷰어 μ—­μ‹œ μž‘μ—…μžμ™€ λ™λ“±ν•œ μ±…μž„μ„ κ°–κ²Œ λ©λ‹ˆλ‹€.
이둜 인해 λ―Όκ°ν•œ μž‘μ—…μ— λŒ€ν•œ 뢀담을 쀄이고, 예기치 λͺ»ν•œ μž₯μ• κ°€ λ°œμƒν–ˆμ„ λ•Œ μž‘μ—…μž 개인이 μ•„λ‹Œ νŒ€ 전체가 μ±…μž„μ„ λΆ„λ‹΄ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Code Review κ°€μ΄λ“œ

λ°±λͺ…석 λ‹˜μ˜ μ½”λ“œ 리뷰 λ…Έν•˜μš° κ°•μ˜λ₯Ό κΌ­ ν•œ 번 듀어보길 μΆ”μ²œν•©λ‹ˆλ‹€.

https://www.youtube.com/watch?v=TAPviNhFuSg

1. λ¦¬λ·°μ–΄λŠ” μš”μ²­μ„ 받은 ν›„ μ΅œλŒ€ν•œ 빨리 리뷰λ₯Ό μ‹œμž‘ν•©λ‹ˆλ‹€.

  • μ½”λ“œ λ¦¬λ·°λŠ” μ½”λ“œ μž‘μ„±μžμ˜ μž‘μ—… μ‹œκ°„μ— ν¬ν•¨λ˜λ―€λ‘œ, 리뷰 μ§€μ—°μœΌλ‘œ μΈν•œ μž‘μ—… 지연이 없도둝 ν•©λ‹ˆλ‹€.
  • 개인 μž‘μ—…μ— μ•žμ„œ, 치λͺ…적인 μž₯μ•  λŒ€μ‘μ΄ μ•„λ‹Œ ν•œ μ½”λ“œ 리뷰λ₯Ό κ°€μž₯ 높은 μš°μ„ μˆœμœ„λ‘œ μ²˜λ¦¬ν•©λ‹ˆλ‹€.
  • 리뷰 μš”μ²­μ„ λ°›μœΌλ©΄ 첫 번째 리뷰 λΌμš΄λ“œλŠ” λ‹€μŒλ‚  μžμ • μ „κΉŒμ§€ λ°˜λ“œμ‹œ μ™„λ£Œν•˜λ©°, λΆˆκ°€ν•  경우 μž‘μ—…μžμ™€ ν˜‘μ˜ν•˜κ±°λ‚˜ 리뷰 μš”μ²­μ„ κ±°μ ˆν•©λ‹ˆλ‹€.

2. μ½”λ“œμ˜ μˆ˜μ€€μ„ 1~2단계 상ν–₯μ‹œν‚€λŠ” 것을 λͺ©ν‘œλ‘œ ν•©λ‹ˆλ‹€.

  • D λ“±κΈ‰μ˜ PR이 μžˆλ‹€λ©΄, C~B 등급이 λ˜λ„λ‘ κ°œμ„ ν•˜λŠ” 것을 λͺ©ν‘œλ‘œ ν•©λ‹ˆλ‹€.
  • μ™„λ²½ν•¨λ³΄λ‹€λŠ” μΆ©λΆ„νžˆ 쒋은 μ½”λ“œλ₯Ό λ§Œλ“œλŠ” 데 μ§‘μ€‘ν•©λ‹ˆλ‹€.
  • ν•œ λ²ˆμ— λ„ˆλ¬΄ λ§Žμ€ μ½”λ©˜νŠΈλŠ” μž‘μ—…μžκ°€ λ‹Ήν™©ν•  수 μžˆμœΌλ‹ˆ μ£Όμ˜ν•©λ‹ˆλ‹€.

3. κ²½μ–΄λ₯Ό μ‚¬μš©ν•˜κ³ , μž‘μ—…μžλ₯Ό 직접 μ§€μΉ­ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

  • ~~β€œλ„ˆλŠ” μ™œ 맨날~”~~
  • μ½”λ“œ 리뷰의 핡심은 β€œλˆ„κ°€ 이런 아이디어λ₯Ό λƒˆλŠ”μ§€β€κ°€ μ•„λ‹ˆλΌ β€œλ¬΄μ—‡μ΄ μ½”λ“œλ₯Ό 더 λ‚˜μ•„μ§€κ²Œ ν•˜λŠ”κ°€β€μž…λ‹ˆλ‹€.
  • μ €μžμ˜ 방어적 λ°˜μ‘μ„ μœ λ°œν•˜μ§€ μ•ŠλŠ” μ–Έμ–΄λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.
    • ex) β€œμ΄κ±΄ OOλ‹˜μ΄ λ³€μˆ˜λͺ…에 μ˜€νƒ€λ₯Ό λ‚΄μ…¨λ„€μš”β€ β†’ β€œμ €λŠ” XX보닀 YYλΌλŠ” λ³€μˆ˜λͺ…이 더 λ‚˜μ€ 것 같은데 μ–΄λ–€κ°€μš”?”
  • λͺ…령이 μ•„λ‹Œ μš”μ²­μ˜ ν˜•νƒœλ‘œ ν‘œν˜„ν•©λ‹ˆλ‹€.

4. 건섀적인 ν”Όλ“œλ°±μ„ ν•©λ‹ˆλ‹€.

  • μ½”λ“œ λ¦¬λ·°λŠ” β€˜μƒμ‚°μ„±β€™ ν–₯상을 μœ„ν•œ ν™œλ™μž…λ‹ˆλ‹€.
  • μ½”λ“œ 리뷰λ₯Ό β€˜λΉ„νŒβ€™μ΄ μ•„λ‹Œ β€˜ν•™μŠ΅β€™μ˜ 기회둜 μΈμ‹ν•©λ‹ˆλ‹€.
  • 의견이 μ•„λ‹Œ 원칙에 κΈ°λ°˜ν•΄ ν”Όλ“œλ°±ν•©λ‹ˆλ‹€.
  • μ½”λ“œμ˜ μž₯점도 μ΅œμ†Œ 1~2κ°œλŠ” κΌ­ μ–ΈκΈ‰ν•©λ‹ˆλ‹€.

5. κ΅μ°©μƒνƒœλ₯Ό 적극적으둜 ν•΄κ²°ν•©λ‹ˆλ‹€.

  • μ €μžκ°€ ν”Όλ“œλ°± μš”μ²­μ—λ„ 본래 μž‘μ—…λ¬Όμ„ κ³ μˆ˜ν•œλ‹€λ©΄, μ €μžμ˜ μ˜κ²¬μ„ μ΅œλŒ€ν•œ μ‘΄μ€‘ν•©λ‹ˆλ‹€.
  • λΆˆν•„μš”ν•œ κ΅μ°©μƒνƒœλŠ” νŒ€ 관계λ₯Ό μ•…ν™”μ‹œν‚€κ³ , μž‘μ—… λΉ„μš©μ„ μ¦κ°€μ‹œν‚΅λ‹ˆλ‹€.
  • ν•©μ˜κ°€ μ–΄λ €μš΄ 경우, μƒμœ„ ν…Œν¬ λ¦¬λ”λ‚˜ λ‹€λ₯Έ λ™λ£Œμ—κ²Œ 리뷰λ₯Ό μœ„μž„ν•©λ‹ˆλ‹€.

6. 농담을 ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

  • β€œμ΄ μ½”λ©˜νŠΈλŠ” 더 λ‚˜μ€ μ½”λ“œλ₯Ό μœ„ν•œ μ œμ–Έ μ΄μ™Έμ˜ λ‹€λ₯Έ μ˜λ„λŠ” μ „ν˜€ μ—†λ‹€.β€λΌλŠ” μ‹ λ’°λ₯Ό μ½”λ“œ 리뷰 κ³΅κ°„μ—μ„œ κ΅¬μΆ•ν•˜κΈ° μœ„ν•¨μž…λ‹ˆλ‹€.
  • κ°€λ²Όμš΄ 농담이 μ˜€κ°€λŠ” κ³΅κ°„μ—μ„œλŠ” μ΄λŸ¬ν•œ μ‹ λ’°λ₯Ό μŒ“κΈ° μ–΄λ ΅μŠ΅λ‹ˆλ‹€.

7. 리뷰 μš”μ²­μžκ°€ μ§€μΌœμ•Ό ν•  것듀

  1. ν•˜λ‚˜μ˜ PR은 500쀄 λ‚΄μ™Έμ˜ μˆ˜μ •μ‚¬ν•­μœΌλ‘œ κ΄€λ¦¬ν•˜κ³ , 1000쀄을 λ„˜μ§€ μ•Šλ„λ‘ ν•©λ‹ˆλ‹€.
  2. Self reviewλ₯Ό ν™œμš©ν•΄ λ¦¬λ·°μ–΄μ˜ 이해λ₯Ό 돕기 μœ„ν•΄ λ…Έλ ₯ν•©λ‹ˆλ‹€.
  3. 리뷰 μ½”λ©˜νŠΈμ— λŒ€ν•΄ μˆ˜μ • λ‚΄μš©μ΄ ν¬ν•¨λœ 컀밋 νƒœκ·Έλ₯Ό λ‹΅κΈ€λ‘œ 남기고, ν•΄λ‹Ή conversation의 μ €μžκ°€ 직접 μ²˜λ¦¬ν•˜κΈ° μ „μ—λŠ” μž„μ˜λ‘œ resolveν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
  4. λ¦¬λ·°μ–΄μ˜ comment에 λ‚ μΉ΄λ‘­κ²Œ λ°˜μ‘ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
  5. PR이 approve되면, μš”μ²­μžκ°€ 직접 PR을 mergeν•©λ‹ˆλ‹€.