(Feb. 19. 2022.) 1장 깨끗한 코드
기억하고 싶은 내용
- 코드는 요구사항을 상세히 표현하는 수단이다.
- 사용자는 요구사항을 내놓으며 우리에게 현실성을 자문한다. 프로젝트 관리자는 일정을 잡으며 우리에게 도움을 청한다. ... 좋은 코드를 사수하는 일은 바로 우리 프로그래머들의 책임이다.
- 깨끗한 코드란?
- 효율이 좋다. 철저한 오류 처리. 한 가지에 '집중'한다.
- 잘 읽힌다. 명쾌한 추상화.
- 다른 사람이 읽기 쉽고 고치기 쉽다. 테스트 주도 개발. 작을수록 좋다.
- 주의 깊게 작성한 코드
- 중복이 없다. 설계 아이디어를 표현한다 (의미있는 이름을 쓴다, 하나의 객체/메서드는 하나의 일만 잘 한다). 집합의 추상화 (집합에서 항목 찾기)
- 짐작했던 기능을 그대로 수행한다.
소감
- 개인 프로젝트에는 대충 짜놓고 나중에 손보겠다고 생각한 쓰레기 코드가 많다. 일단은 돌아가니까, 이거 외에도 할 게 많으니까 덮어두고 넘어가는 거다. 그렇지 않은 경우가 더 희귀할 거다. 회사의 프로젝트는 그나마, 냄새나는 부분을 코드 리뷰어가 지적하기 때문에 조금은 나은 편이다. 코드 리뷰어는 정말 중요하다.
- 겹겹이 들어간 다중 if 문을 남겨놓고 떠난 개발자들이 떠오른다. 인턴으로서는 (테스트 코드도 없는 마당에) 다 갈아엎을 엄두도 나지 않고 당장에 할당받은 requirements부터 구현할 마음으로 조급하기 때문에, 결국은 나도 그 다중 if문을 모른척 넘어가버리고 말 것이다. 분명 더 나은 방법이 있을텐데...
- 코드를 쓰는 시간보다 읽는 시간이 월등히 많다. 그러니까 깨끗한 코드는 중요하다.
궁금한 내용 / 잘 이해되지 않는 내용