코드 리뷰 가이드 (by Google)

TMT

서로의 코드를 리뷰하면 좋은 점

  1. 남이 작성한 코드를 꼼꼼히 읽어보는 것만으로도 개발 실력 향상에 큰 도움이 됩니다.
  2. 같은 기능을 구현하였어도 방법은 가지각색입니다. 다른 사람의 코드를 보며 시야가 넓어집니다.

코드 리뷰를 할 때의 마음가짐

서로 코드 리뷰를 할 때는 마음가짐이 무엇보다 중요합니다. 리뷰어(리뷰하는 사람)는 틀렸다고 말하기보다 의견을 묻고 제안하는 것이 좋고, 리뷰이(리뷰 받는 사람)는 내 코드를 꼼꼼히 읽어주었다는 것에 감사한 마음을 갖는 자세로 임해야 합니다.

리뷰이가 고려해야 할 것

  • 논리적인 오류나 오타가 없는지 점검합니다.
  • 권장되지 않는(deprecated) 구식 기능이 있는지 점검합니다.
  • 주석은 리뷰어가 리뷰하는 데 큰 도움이 됩니다.

리뷰어가 고려해야 할 것

  • 내가 알고 있는 게 정확한 내용인지 확인합니다.
  • 어떤 의도로 작성한 것인지 생각해봅니다.
  • 공격적이지 않고 배려하는 마음으로 리뷰합니다.

얕은 코드 리뷰하는 방법

*아래 방법은 [Google의 코드리뷰](https://google.github.io/eng-practices/review/) 프로세스 및 정책을 참고해 작성하였습니다.

대부분의 우리는 경력이 풍부한 현직 개발자가 아니기 때문에, 심층적인 코드 리뷰를 진행하기는 어렵습니다.

그럼에도 아래의 4가지 주제와 같이, 현직 개발자가 아니더라도 충분히 할 수 있는 얕은 코드 리뷰를 소개합니다.

  1. 디자인 : 코드가 잘 설계되어 있는가? : 리뷰어는 작성자의 파일 구조에 대해 물어볼 수 있어요. 정답을 구하거나 조언하기보다, 작성자의 의도가 무엇인지를 물어보는 것이 좋습니다. 코드 구조에 대해 서로 이야기하면서 더 나은 설계 방법을 고민해보아요.
    예시) variable_ex는 굳이 전역변수가 아니어도 될 것 같아요! function_ex 함수 안에 넣어보는 건 어떨까요?
  2. 기능 : 함수의 기능과 역할 함수의 기능과 역할에 대해 물어볼 수 있어요. 보고 배우거나 더 나은 방법을 제안할 수도 있습니다.
    예시) 저와는 다른 방법으로 구현하신 것 같아요! 그런데 작동 방식이 100% 이해되지 않아서요! 어떤 의도로 작성하셨는지 여쭤보아도 될까요?
  3. 복잡성: 단순화할 수 있는가? 코드를 더 효율적으로 작성할 수 있는 방법에 대해 서로 이야기를 나누어보는 것도 좋습니다.
    예시) function_ex1 과 function_ex2의 기능이 유사한 것 같아요! 하나의 함수로 처리해보는 건 어떨까요? 제가 제안하는 방법은 ‘~~’ 입니다!
  4. 테스트: 개발자가 변수, 클래스, 메서드 등에 대해 명확한 이름을 선택했나요? 변수, 클래스, 메서드의 이름이 난해하다면, 더 나은 변수 이름을 제안해볼 수도 있습니다.
    예시) 파일1과 파일2의 변수 표기법이 서로 다른 것 같아요! 아마 급하게 작성하시느라 놓치신 것 같은데, 하나로 통합해보는 것을 추천드립니다 :)
Edit this page

On this Page