클린코드 5장 형식 맞추기
·2 mins
프로그래머라면 형식을 깔금하게 맞춰 코드를 짜야 한다. 코드 형식을 맞추기 위한 간단한 규칙을 정하고 그 규칙을 따라야 한다. 팀으로 일한다면 팀이 합의해 규칙을 정하고 모두가 그 규칙을 따라야 한다.
형식을 맞추는 목적 #
- ‘돌아가는 코드’가 개발자의 일차적인 의무라 여길지도 모른다.
- 하지만 오늘 구현한 기능이 다음 버전에서 바뀔 확률은 아주 높다.
- 그런데 오늘 구현한 코드의 가독성은 앞으로 바뀔 코드의 품질에 지대한 영향을 미친다.
- 오랜 시간이 지나 원래 코드의 흔적을 더 이상 찾아보기 어려울 정도로 코드가 바뀌어도 맨 처음 잡아놓은 구현 스타일과 가독성 수준은 유지보수 용이성과 확장성에 계속 영향을 미친다.
- 원래 코드는 사라질지라도 개발자의 스타일과 규율은 사라지지 않는다.
적절한 행 길이를 유지하라 #
- 7개의 자바 라이브러리를 조사한 결과 파일의 길이가 500줄을 넘지 않고, 대부분 200줄 정도인 파일로 구축되어 있었다.
신문 기사처럼 작성하라 #
- 독자는 위에서 아래로 기사를 읽는다. 최상단에 기사를 몇 마디로 요약하는 표제가 나온다. 첫 문단은 전체 기사 내용을 요약한다. 세세한 사실은 숨기고 커다란 그림을 보여준다. 쭉 읽으며 내려가면 세세한 사실이 조금씩 드러나고, 기타 세부사항이 나온다.
- 소스파일도 신문 기사와 비슷하게 작성하자.
- 소스파일의 첫 부분은 고차원 개념과 알고리즘을 설명하고, 아래로 내려갈수록 의도를 세세하게 묘사하자.
- 마지막에는 가장 저차원 함수와 세부 내역이 나온다.
개념은 빈 행으로 분리하라 #
- 거의 모든 코드는 왼쪽에서 오른쪽으로, 위에서 아래로 읽힌다.
- 각 행은 수식이나 절을 나태내고, 일련의 행 묶음은 완결된 생각 하나를 표현한다.
- 생각 사이는 빈 행을 넣어 분리해야 마땅하다.
세로 밀집도 #
- 줄바꿈이 개념을 분리한다면 세로 밀집도는 연관성을 의미한다.
- 즉, 서로 밀접한 코드 행은 세로로 가까이 놓여야 한다.
- 함수 연관 관계와 동작 방식을 이해하려고 이 함수에서 저 함수로 오가며 소스 파일을 위아래로 뒤지는 등 뱅뺑이를 돌았으나 결국은 미로 같은 코드 때문에 혼란만 가중된 경험이 있는가?
가로 형식 맞추기 #
- 80자에서 120자 사이 권장