-
Notifications
You must be signed in to change notification settings - Fork 10
/
0022.txt
27 lines (14 loc) · 4.18 KB
/
0022.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
'코드 리뷰(Cord Review)'라고 하면 일할 때 자기가 짠 프로그램을 저장소(repository)에 올리기 전에 다른 사람이나 팀장(Lead Programmer)에게 코드가 문제가 없는지 교차검증(Cross-check)을 받는 거를 말해요.
여러분들은 이 코드 리뷰에 대해 어떻게 생각하시는지 모르겠어요. 제는 규칙이 복잡한 걸 안 좋아해요. 코딩 표준(Cording Standard)에 대한 내용으로 블로그에 글도 적었는데, 여태까지 프로그래머 생활하면서 많은 동료들을 봤지만 대부분의 사람들은 코딩 표준이 없어도 나름대로 신경 써서 코드를 작성해요. 소수의 배려심이 없는 사람들만이 코딩을 이상하게 할 뿐이에요. 이런 사람들은 코드 리뷰도 이상하게 해요. 그래서 이런 사람들을 막기 위해서 코딩 표준을 더 강화시켜요. 그런데 규칙이 강화될수록 규칙을 잘 지키고 있던 사람들의 생활만 더 힘들어지고, 규칙을 안 지키던 사람들은 여전히 더 안 지킬 수 있는 방법을 찾더라고요. 그래서 규칙은 어느 정도 있어야 되는 건 맞지만, 그게 힘들 이유가 없더라고요.
코드 리뷰는 문제가 있는 코드를 찾아내서 그걸 미리 방지할 수 있는 장점이 있지만 제가 코드 리뷰를 겪어본 봐로는 이런 긍정적인 효과는 실제로는 한 10% 정도만 되는 것 같아요. 나머지 90%는 2가지 경우인 것 같아요. 그게 본연의 목적과도 상관이 없을 수도 있고 그렇다고 기존 코드보다 유의미한 성능 향상이 있는 것도 아닌데도 말이죠.
첫 번째는 코드를 작성하는 방법에는 정말 여러 가지 방법이 있는데 "이건 주로 내가 쓰는 방법이 아니니까 이런 방법이 낫다"는 식으로 피드백을 하는 분들이에요.
두 번째는 코드 리뷰를 '내가 이만큼 잘났다'는 걸로 활용하는 사람이에요. 그냥 이걸 통해 자신을 뽐내고 싶은 거죠. 정치를 잘하는 거라고도 볼 수 있는데, 이건 프로그래머의 효율성을 저하시키는 굉장히 큰 요소예요.
요즘 든 생각은 코드 리뷰 자체가 무의미한 것은 아니지만 '본연의 목적을 제대로 하고 있는 게 맞는가?'라는 생각을 점점 더 많이 하게 되는 것 같아요. 위에서 말한 대로 실제 문제가 있는 코드는 10% 정도고, 나머지 90% 정도는 쓸데없는 시간 소모를 하거나 해서 필수로 코드 리뷰를 받아야 하는 시스템(Mandatory Code Review)은 없어도 될 것 같아요. 다만 다음과 같은 상황인 경우에는 코드 리뷰를 필수적으로 해야 된다 생각해요.
첫 번째는 새로 들어온 사람이 처리한 일을 좀 더 나은 방법으로 알려주기 위해서 코드 리뷰를 할 필요가 있다고 봐요. 한 3개월 정도 진행하면 되겠죠 그런 사람들은...
두 번째는 자주 코드 베이스를 망가뜨리는... 문제가 있다고 증명된 사람은 코드 리뷰를 개별적으로 전담하는 게 좋을 것 같아요. 그런데도 개선되지 않는다면 회사차원에서 이런 직원을 어떻게 해야 할지 고민을 해봐야죠.
그 외에 프로젝트를 마무리해야 하는 기간인 경우에는 전체적으로 코드 리뷰를 진행하는 게 맞다고 봐요. 이 시기에는 대체로 시간이 충분하지 않기 때문에 문제가 발생되기 전에 위험부담을 줄이는 게 맞다고 봐요. 이런 경우들이 아니라면 코드 리뷰를 해서 얻는 장점보다는 시간낭비라는 쪽이 저는 더 크다고 봐요.
그래서 코드 리뷰의 필요성에 대해 정리하자면 전 이렇게 생각해요.
1. 모든 프로그래머에게 코드 리뷰를 받게 하는 것은 그다지 효율적이 아닐 수도 있다.
2. 처음 회사에 들어온 사람들에게 한시적으로 코드 리뷰를 하는 게 좋다.
3. 코드를 많이 망가뜨리는 사람이 있으면 그 사람에게도 코드 리뷰를 따로 하는 게 좋다.
4. 최종 게임 출시전이나 가장 중요한 작업 때는 그전에 전체적으로 코드 리뷰를 하는 게 좋다.