티스토리 뷰
[내용 정리]
코드는 요구사항을 상세히 표현하는 수단(요구사항을 표현하는 언어)이다.
나의 쓰레기 코드를 쳐다보며, "아 일단 급한 대로 불 끄고, 나중에 고치자"라고 말하지만, 나중은 절대 안 온다.
- 시간을 들여 깨끗한 코드를 만드는 노력을 하자 (비용절감, 고급 개발자가 되는 과정)
- PM이 말도 안 되는 서비스를 코드로 짜라고 할 때, 좋은 코드를 사수하는 것이 프로그래머의 책임이다.
- 기한은 맞추는 유일한 방법, 빨리 처리하는 유일한 방법은 항상 코드를 깨끗하게 유지하는 것.
깨끗한 코드를 위한 '코드 감각'을 키우자.
- 1. 논리 간단 2. 의존성 줄이기 3. 한 가지만 제대로 하는 코드 / 보기에 즐거운 코드 / 나쁜 코드는 나쁜 코드를 유혹한다
- 단순하고 직접적 : 명쾌한 추상화, 단순한 제어문 / 가독성 / 잘 쓴 문장처럼 읽히기 like 영화감상 / 사실에 기반해서 코딩
- 모두에게 읽기 쉬운 코드 : 1. 의미 있는 이름 2. 한 가지만 제대로 하는 코드 / 테스트 주도 개발
- 주의 깊게, 모든 사항 고려
- 1. 중복 줄이기 2. 표현력 높이기 3. 한 가지 기능 만수행 4. 작게 추상화 / 메서드추출 리팩토링 : 기능기술 메서드 하나와 수행하는 여러 개 메서드
- 모듈을 읽으면 다음에 벌어질 상황이 보여야 함 : 단순한 설계
- 보이스카우트 규칙 : 처음 왔을 때 보다 더 깨끗하게 해 놓고 떠나라 = 언제나 깨끗하게 유지. 코드의 퇴보를 막음 / 지속적인 개선
[느낀 점]
음... 좀 당황했다.
그동안 전공책만 봐서 그런 건가? 싶기도 한데, 정말 놀랄 만큼 읽기가 편했다.
머리 아프게 고민하면서, 연구하면서 볼 필요 없이 재미있게 독서한 느낌이었다.
(아 물론, 읽으면서 "저렇게 하는 게 당연하지! 저렇게 해야 하는 건 아는데 어떻게 해야 할지를 모르겠어.."라는 생각이 들었다)
프로그래밍은 공학이면서 문학이 되고, 철학이 되는 멋진 학문이라고 생각을 다시 또 하게 됐다.
'CleanCode' 카테고리의 다른 글
Clean Code (0) | 2020.12.08 |
---|