2 주차
월 | Assignment #08
5장. 형식 맞추기
📘 책에서 기억하고 싶은 내용
- "좋은 소프트웨어 시스템은 읽기 쉬운 문서로 이뤄진다." (p.114)
- 형식을 맞추는 목적 (p.96)
- 코드 형식은 의사소통의 일환이다.
- 오늘 구현한 코드의 가독성은 앞으로 바뀔 코드의 품질에 지대한 영향을 미친다.
- 적절한 행 길이 유지 (p.96)
- 신문 기사처럼 작성하라
- 이름만 보고도 올바른 모듈을 살펴보고 있는지 아닌지를 판단할 정도로 신경써서 지어야 한다.
- 소스 파일 첫 부분은 고차원 개념과 알고리즘을 설명하고, 아래로 내려갈수록 의도를 세세하게 묘사한다.
- 줄바꿈과 세로 밀집도
- 줄바꿈으로 개념을 분리하고, 서로 밀접한 코드는 세로로 가까이 위치하게 한다.
- 변수 선언
- 변수는 사용하는 위치에 최대한 가까이, 인스턴스 변수(멤버 변수)는 클래스 맨 처음에 선언한다.
- 짧은 함수의 지역 변수는 각 함수 맨 처음에 선언한다.
- 종속 함수
- 한 함수가 다른 함수를 호출한다면 두 함수는 세로로 가까이 배치한다.
- 호출하는 함수를 호출되는 함수보다 먼저 배치한다.
- 가로 형식 맞추기 (p.107)
- 가로 정렬
- 가로 정렬은 코드가 엉뚱한 부분을 강조해 진짜 의도가 가려지게 한다.
- 정렬이 필요할 정도로 목록이 길다면 문제는 목록의 길이이며, 선언부가 길다면 클래스를 쪼개야 한다.
- 팀 규칙 (p.113)
- 프로그래머라면 각자 선호하는 규칙이 있겠지만, 팀에 속하고 있다면 팀의 코딩 스타일을 선호해야 한다.
- 한 소스 파일에서 봤던 형식이 다른 소스 파일에도 쓰이리라는 신뢰감을 독자에게 줘야 한다.
🤔 소감 및 생각
- 현재 팀에서 개발 진행 시 구글의 코드 컨벤션을 활용하고 있는데, 이전에 코딩 스타일이 정의되어 있으나 지켜지지 않은 채 개발된 프로젝트 소스를 보았을 때 코딩 스타일로 어떤 분이 개발했는지 특정 지을 수 있을 정도로 코딩 스타일의 일관성이 없어 규칙을 정하는 것이 얼마나 중요한지를 이해하고 있었다. 그래도 규칙을 준수하는 것을 강조하는 것은 아무리 해도 지나치지 않는 것 같다고 느꼈다.
- 나는 대부분 메소드를 작성할 때 지역변수를 상단에 주로 작성하였었는데, 사용되기 바로 전 행에 작성되어도 충분히 가독성이 좋다는 것을 새롭게 깨달았다. 또한, 빈 반복문(
while
, for
문)을 작성할 때 세미콜론(;
)을 다음 행에 작성하라는 부분이 흥미로웠다. 개인적으로 보기에는 더 보기 좋지는 않지만, 확실히 세미콜론을 통해 별도의 수행 로직이 없는 반복문임을 알리는 데에는 충분할 것 같다.
- 현재 보고 있는 소스 파일의 형식이 다른 소스 파일에도 동일하게 적용되어 있을거라는 신뢰감을 주는 개발자가 되도록 노력해야겠다.
🔍 새롭게 알게 된 내용