CleanCode (로버트 마틴 저) 독후감
2번 읽고도 시간이 꽤 지날정도로 정리를 안 했다.
그 이유는 마지막에 따로 정리할 것들이 많아서 그것들을 정리하면 올릴 생각이었다..
하지만 내가 카페가서는 개발 공부하고 출퇴근에는 그냥 책만 읽느라 따로 펜을 들 시간이 없더라.
그래서 마지막장은 무시하고 내가 펜으로 다시 정리한 부분까지만 적어야겠다고 생각했다.
- 중복을 피하라,한 기능만 수행해라, 제대로 표현하라, 적게 추상화하라
2장 이름
의도가 보이는 이름
쉬운 이름을 사용하라
클래스 이름과 객체 이름은 명사나 명사구
메서드 이름은 동사나 동사구
3장 함수
작게 만들어라
함수는 한 가지를 해야한다 그 한 거지를 잘 해야 한다 그 한 가지만을 해야 한다
내려가기 규칙
함수 인수는 0개가 이상적
단항 함수 쓰기 좋을 때
인수에게 질문을 던질 때
인수를 뭔가를 변환해 리턴할 때
플래그 인수는 쓰지말자
오류코드보다 예외를 사용하자
try catch는 별도의 함수로 뽑자
중복은 소프트웨어에서 모든 악의 근원이다
4장 주석
법적인 주석은 좋은 주석
의도를 설명하는 주석
의미를 명료하게 하는 주석
결과를 경고하는 주석
todo 주석
나쁜 주석
같은 이야기를 중복하는 주석
이력을 기록하는 주석
닫는 괄호에 다는 주석
공로를 돌리거나 저자를 표시하는 주석
주석으로 처리한 코드
html주석
전역정보
6장 객체와 자료구조
- 디미터법칙 : 모듈은 자신이 조작하는 객체의 내부를 몰라야 한다
7장 오류처리
오류코드보다 예외를 사용하라
null을 반환하지 마라 더 나쁜건 null을 전달하는것
9장 단위테스트
깨끗한 테스트 코드 - 가독성 가독성 가독성
테스트당 assert 하나
테스트 Fast.Independent.Repeatable.Self Validating. Timely
10장 클래스
- SRP
12장 창발성
모든 테스트를 실행한다
중복을 없앤다
프로그래머 의도를 표현한다
클래스와 메서드 수를 최소로 줄인다
13 동시성
동기화하는 메서드 사이에 존재하는 의존성을 이해하라
동기화하는 부분을 작게 만들어라
올바른 종료 코드는 구현하기 어렵다
스레드 코드 테스트하기
마지막이 14장인데 그 부분은 하나하나 중요한 내용이기에 전부 다 적기에는 나의 시간이 아까워서 이렇게 정리하겠다.
괜히 개발자의 필독서라고 하는게 아닌듯하다.
나는 이를 내업무에 적용시키고 있다. 전부는 아니지만 지나고나면 왜 책에서 이렇게 하라했는지. 내가 코드짤 때 뭐를 더 조심해야겠는지를 알려주는 좋은 책이었다.
다음 개발책은
클린 아키텍처를 읽을 것이다.