보이스카우트 규칙
보이스카우트에는 오래된 규칙이 있다. 캠프장을 처음 왔을 때보다 깨끗하게 떠나라.
로버트 C. 마틴이 이 규칙을 소프트웨어 개발에 적용했다. 코드를 처음 봤을 때보다 깨끗하게 만들어라.
버그를 고치러 코드를 열었다. 고치고 나서 그냥 커밋하면 끝이다. 하지만 보이스카우트 규칙을 따르면 조금 다르게 행동한다. 변수명이 이상하면 고친다. 공백이 엉망이면 정리한다. 사용하지 않는 import가 있으면 지운다.
각각은 5분도 안 걸리는 일이다. 하지만 모든 개발자가 이렇게 하면 코드는 점점 나아진다.
기술 부채는 무섭다. 나중에 고치자가 쌓이고 쌓여서 손댈 수 없는 괴물이 된다. 대규모 리팩토링을 하자니 일정이 없고, 그냥 두자니 점점 나빠진다. 보이스카우트 규칙은 이 문제에 대한 현실적인 해답이다. 한 번에 다 고치려고 하지 않는다. 코드를 만질 때마다 조금씩 고친다.
반대 방향도 있다. 깨진 유리창 이론이다. 건물에 깨진 유리창이 하나 있으면, 곧 다른 유리창도 깨진다. 아무도 관리하지 않는다는 신호이기 때문이다. 코드도 마찬가지다. 이상한 코드가 하나 있으면, 다음 사람도 이상하게 짠다. 원래 이런 코드베이스구나 하고 생각하기 때문이다.
나쁜 코드는 나쁜 코드를 부른다. 좋은 코드는 좋은 코드를 부른다.
코드는 정원과 같다. 매일 조금씩 가꾸면 아름다운 정원이 된다. 방치하면 잡초밭이 된다. 캠프장을 떠날 때, 쓰레기 하나만 주워도 된다. 그게 쌓이면 캠프장 전체가 깨끗해진다.
댓글