반응형
TIL (Today I Learned)
2022.02.19
오늘 읽은 범위
1장. 깨끗한 코드
책에서 기억하고 싶은 내용을 써보세요.
- 회사가 망한 원인은 바로 나쁜 코드 탓이었다. (p.2)
- 기한을 맞추는 유일한 방법은, 그러니까 빨리 가는 유일한 방법은, 언제나 코드를 깨끗하게 유지하는 습관이다. (p.7)
- 의존성을 최대한 줄여야 유지보수가 쉬워진다. 오류는 명백한 전략에 의거해 철저히 처리한다. (p.9)
- 나쁜 코드는 너무 많은 일을 하려 애쓰다가 의도가 뒤섞이고 목적이 흐려진다. 깨끗한 코드는 한 가지에 집중한다. 각 함수와 클래스와 모듈은 주변 상황에 현혹되거나 오염되지 않은 채 한길만 걷는다. (p.10)
- 아무리 코드가 우아해도, 아무리 가독성이 높아도, 테스트 케이스가 없으면 깨끗하지 않다. (p.12)
- 간단한 코드는 모든 테스트를 통과하고, 중복이 없고, 시스템 내 모든 설계 아이디어를 표현하고, 클래스 메서드, 함수 등을 최대한 줄인다. (p.13)
- 중복을 피하라. 한 기능만 수행해라. 제대로 표현하라. 작게 추상화하라. (p.14)
- 새 코드를 짜면서 우리는 끊임없이 기존 코드를 읽는다. 기존 코드를 읽어야 새 코드를 짜므로 읽기 쉽게 만들면 새 코드를 짜기 쉬워진다. (p.18)
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
- 좋은 코드가 무엇인지, 가이드 라인을 주는 단원이라고 생각한다. 인상적인 부분은 객체지향 설계 5원칙 중 하나인 SRP, 즉 Single Responsibility에 관한 내용이 자주 보였다고 생각한다. 깊은 객체의 내용은 아니지만 코드가 한 가지의 역할만 수행하라는 부분에서 이 뜻은 일맥상통한다고 생각한다. 꼭 한 가지 책임을 가지고 하나의 역할만 수행하도록 코드를 작성하자.
- 좋은 테스트 코드에 대한 의문이 되게 많은데, 이 책에서 첫 단원에서 테스트 코드에 대한 언급이 있었다. 테스트 코드에 대해 더 깊이 학습할 수 있을 거 같아 기대가 된다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
- 르블랑의 법칙 - 나중은 결코 오지 않는다. 즉 지금 작성한 쓰레기 코드를 수정할 시간은 오지 않는다는 뜻이다. 처음 코드를 작성할 때 제대로 작성하자.
반응형
댓글