좋은 코드리뷰는 무엇일까?
🧑💻 코드 리뷰란?
동료의 코드(Code)를 리뷰(Review)해주는 문화이다.
코드리뷰를 통해 문제가 있는지 확인하고 더 나은 코드 퀄리티를 내고자 한다.
많은 IT 회사에서는 코드 리뷰를 진행하고 있고, 이미 코드 리뷰는 하나의 문화로 자리잡고 있다.
나는 이 포스팅에서 좋은 코드 리뷰에 대해 다뤄보며 코드 리뷰라는 문화에 대해 이해해보는 시간을 가져보고자 한다.
🤖 코드 리뷰의 목적
1. 코드 퀄리티 향상
좋은 코드 퀄리티는 협업에 있어 매우 필요하다.
코드를 잘 짜는것도 중요하지만, 가독성이 좋은 코드로 동료가 봤을 때 이해하기 쉽게 짜는 것 역시 중요하다.
2. Human Error 확인
코드를 짜는 사람은 인간이기 때문에 실수를 할 가능성이 있다.
오타나 Human Error를 merge전에 미리 동료가 더블체크해주며 에러를 확인한다.
3. 컨벤션 확인
협업 상황에서 컨벤션이 달라 헷갈릴 수 있을 상황을 미리 방지할 수 있다.
4. 버그 방지
잘 못 짜여진 코드는 예기치 못한 에러를 발생시킬 수 있다.
이러한 가능성을 찾아서 리뷰를 통해 사전에 에러를 방지할 수 있다.
5. 기술적 지식 공유
내가 모르는 기술적 지식이 있을 수 있다.
문제해결방법은 여러가지일 수 있고, 리뷰 과정에서 내가 모르는 혹은 더 좋은 방법에 대해 배울 수 있다.
6. 동료가 하는 일 인지
동료의 코드 리뷰를 하면서 내가 개발한 부분 이 외의 부분도 볼 수 있다.
🪴 좋은 코드 리뷰 방법
정답을 알려주는 행위 ❌
‘이 부분은 이런식으로 고치세요.’ 라고 직접적인 답변을 제시하는 코멘트 보다는 방향성만 잡아주고 스스로 답을 찾아가게끔 유도해주자.
예시를 들어보자. 다음과 같다.
// 내가 올린 코드
let numberList = [1,2,3,4,5]
var resultList = [Int]()
for number in numberList {
resultList.append(number * 10)
}
// 나쁜 리뷰 코멘트
let resultList = numberList.map{ $0 * 10 } 으로 변경하세요.
// 좋은 리뷰 코멘트
swift에서는 고차함수 중에 map이라는 함수가 있어요.
이를 사용해보시면 코드량을 더 줄일 수 있습니다.
보고 코멘트 ❌
보고하듯 코멘트를 다는 것은 좋지 않다.
예를 들면 아래와 같은 상황이 있을 수 있겠다.
// 내가 올린 코드
aa
bb // 이 부분은 ~~~해서 작성했습니다.
cc
dd // 이 부분은 ~~~때문에 작성했습니다.
ee // 이 부분은 ~~~이유로 작성했습니다.
ff
gg
우리는 보고서를 쓰는 것이 아니다.
일단 위와 같이 코멘트를 셀프로 달게 되면, 시간도 오래 걸릴 뿐더러 동료가 코드 리뷰를 하면서 내 코멘트만 참고하고 코드를 제대로 보지 않을 가능성이 높다.
리뷰를 위한 리뷰 ❌
코드 리뷰가 반드시 코멘트를 달고 코드의 결함을 찾아야 하는 것은 아니다.
잘 짜여진 코드는 Approve만 눌러줘도 된다는 말이다.
필요하지 않은 리뷰를 꼭 해서 내가 코드 리뷰에 참여했음을 알리려는 코드 리뷰는 금해야한다.
상냥한 멘트
코드 리뷰는 자칫 서로의 감정을 상하게 할 수 있을 가능성이 존재한다.
따라서 명령형 보다는 권유, 요청으로 리뷰를 달면 훨씬 좋다.
Leave a comment