본문 바로가기
카테고리 없음

구글 엔지니어는 이렇게 일한다 #8장 스타일 가이드와 규칙을 읽고

by TLOWAC 2024. 11. 19.

#8 스타일 가이드와 규칙

| 일부 내용
규칙을 관리하는 목표는 '좋은' 행동을 장려하고 '나쁜' 행동을 억제하기 위함입니다.

 

좋은 말이다. 하지만, 구성원 전부가 이에 대한 취지를 이해하고 지키고자 노력할때 진정한 효과가 발휘되는것 같다. 

프로그래밍 과정에서의 규칙에 있어서도 하나의 예외가 발생하기 시작하면 규칙이 그대로 무너져 지키는 사람만 지키는 유명무실한 규칙이 되는 경우도 보았다.

 


 

| 일부 내용
규칙 모음을 정의할 때 반드시 던져야 하는 질문은 '무슨 규칙이 필요하지?' 가 아니라 '어떤 목표를 이루려 하지?' 입니다.

 

지금까지 규칙은 '나쁜' 행동을 억제하기 위한 용도 였다. 예를 들면 '지각 하지 마라' 와 같이 말이다. 

하지만, 이에 대한 관점을 '어떤 목표를 이루려 하지?' 에 두어보지는 않았다. 

 

사이드 프로젝트에서 프로그래밍 규칙을 만들때도, "이건 안티 패턴" 와 같이 제약을 걸기만 했었다.

최종적인 목표를 인식하고 그에 맞춰 규칙을 세우는 연습을 해봐야겠다.

 


 

| 일부 내용
구글은 엔지니어만 3만 명이 넘고, 그 숫자 만큼이나 엔지니어들의 기술 수준과 배경 역시 다양합니다.
수십 년을 더 존재할 가능성이 큰 20억 라인 이상의 코드베이스에 매일 약 6만건의 코드가 서브밋 됩니다.

 

상상조차 되지 않는 코드 규모다.

이런 환경이라면 프로그래밍 규칙은 거의 필수적이지 않을까.

 

20억 라인을 파악하려면 이번 생에 다할 수 있을까....

 


 

| 일부 내용
C++ 스타일 중재자 그룹의 멤버는 4명 입니다.
다수결이 되려면 인원이 홀수여야 유리한데 왜 짝수인 걸까요? 스타일 가이드 수정은 투표가 아니라 합의로 이루엊지기 때문입니다.

 

놀라웠다. 보통은 하나의 규칙 또는 논의를 하는 과정에서 의견이 수립되지 않으면, 기존에 나온 의견들을 기반으로 투표가 진행되고 최종적으로 하나의 의견이 정립되는게 대부분이었기 때문이다. 하지만, 투표가 아닌 합의로 이러한 가이드를 구축해나간다는 점에서 정말 놀라웠다.

 

반응형

댓글