Ch17. Smells and Heuristics
코드에서 나는 나쁜 냄새? 나쁜 습관들에 대한 리스트!
클린코드에서 이야기했던 고쳐야하는 부분들을 적어둬서 나중에 참고해도 괜찮을 듯 하다.
인상깊었던 부분
주석
- 꼭 필요한 부분만 주석으로 남기자. 남긴다면 단어들을 신중하게 선택해서 최대한 멋지게 남기자 (당연한 소리 반복 X, 주절대지 않고 간결하고 명료하게)
- 주석으로 처리된 코드는 즉각 지우자! 어짜피 git이 관리해줌
함수
- 인수개수는 최대한 줄이자. 없다면 가장 좋다.
- 플래그 인수는 함수가 여러 기능을 한다는 증거임. 피해야한다
- 호출하지 않는 함수는 삭제하자.
- 테스트 커버리지 검사로 확인 가능
환경
- make file
일반
- 중복을 발견할 때마다 추상화할 기회로 간주해라
- switch, if 문은 다형성으로 대체할 수 있는 기회임
- 다형성 객체를 생성해서 switch 문을 대신할 수 있음
- switch, if 문은 다형성으로 대체할 수 있는 기회임
- 서술적인 변수 사용을 통해서 프로그램 가독성을 높이자.
- 이름은 소프트웨어 가독성의 90%를 결정한다. 이름이 매우 중요하기 때문에 신중하게 고르고 선택한 이름이 적합한지 자주 되돌아 보자
- 긴 범위는 긴 이름을 사용하자
- 매직숫자는 명명된 숫자로 바꾸자! (근데 합리적인 숫자들은 괜찮! )
- 조건문 캡슐화 및 긍정문으로 바꾸기
- 함수의 리턴 값을 통해서 시간적인 결합 만들기
유비쿼터스 언어
- DDD 에서 나오는 단어
- 특정 프로젝트에 적용할 표준을 고안한 것
- 단순히 명사 뿐만 아니라 동사까지 용어 사전으로 관리 해야함
테스트
- 커버리지 도구 사용