#2_Clean Code(클린 코드)를 읽고(4,5,6장 정리)
4장 : 주석
○ 웬만하면 코드로 설명
○ 정규식 같은 패턴 잡는 경우는 주석 써도 좋다.
○ 의도를 설명하는 주석
○ 의미를 명료하게 밝히는 주석
- a.compareTo(b) !=0 //a != b
○ 결과를 경고하는 주석
- //여유 시간이 충분하지 않다면 실행하지 마십시오.
○ 중요성을 강조하는 주석
- 문자열에 시작 공백이 있으면 다른 문자열로 인식될수 있음
5장 : 형식마추기
○ 형식을 잘 맞춰라
○ 적절한 행 길이를 유지하라
○ 수직거리
- 서로 밀접한 개념은 세로로 가까이 둬야 한다.
6장: 객체와 자료구조
○ 자료 추상화
- 자료를 세세하게 공개하기보다는 추상적인 개념으로 표현하는 편이 좋다
○ 자료/객체 비대칭
- 새로운 함수가 아니라 새로운 자료 타입이 필요한 경우가 생긴다. 이때는 클래스와 객체 지향 기법이 가장 적합하다
- 새로운 자료 타입이 아니라 새로운 함수가 필요한 경우에는 절차적인 코드와 자료 구조가 좀 더 적합하다
○ 다미터 법칙
- String outputDir = ctxt.getOptions().getScratchDIr() 이렇게 메수드가 반환하는 객체의 메서드는 호출하면 안된다.
이와 같은 코드를 기차 충돌이라고 한다. 일반적으로 조잡하다고 여겨진다.
○ 자료 전달 객체
- 자료 구조체의 전형적인 형태는 공개 변수만 있고 함수가 없는 클래스다. 이런 자료 구조체를 때로는 자료 전달 객체
(Data TransferObject, DTO)라 한다.
- 빈(bean)은 공개(private) 변수를 조회/설정 함수로 조작한다. 일조의 사이비 캡슐화다..
○ 결론
- 객체는 동작을 공개하고 자료를 숨긴다. 그래서 기존 동작을 변경하지 않으면서 새 객체 타입을 추가하기 쉽다.
그러나 기존 객체에 새 동작을 추가하기는 어렵다.
- 자료구조는 별다른 동작 없이 자료를 노출한다. 그래서 기존 자료 구조에 새 동작을 추가하기는 쉬우나, 기존 함수에 새 자료 구조를
추가하기는 어렵다.
'개발 > 서적' 카테고리의 다른 글
#4_Clean Code(클린 코드)를 읽고(11,12,13,14,15장 정리) (0) | 2019.04.25 |
---|---|
#3_Clean Code(클린 코드)를 읽고(7,8,9,10장 정리) (0) | 2019.04.22 |
#1_Clean Code(클린 코드)를 읽고(1,2,3장 정리) (0) | 2019.03.28 |