2019. 2. 14. 23:19ㆍ[공부] 독서/클린 코드
SerialDate : java.util.Date의 불편함을 해소하고자 만든 라이브러리
변경이력을 나타내는 주석은 더 이상 필요없다.
주석을 HTML 태그를 사용해서 표시하지마라
명칭에 관한 고민
어떤 기준을 기점으로 얼마나 ~가 지났는지를 표현하기에 Serial 은 적합한가? relative offset이 더 적합하다.
Serial은 일련번호, 즉 식별 번호에 사용하기 적합하다.
옛날 프로그래밍에서 사용하던 기교를 피하라
ex. Constant 클래스를 상속하게 해서 TARGET_CONSTANT에 접근할 때 Constant.TARGET_CONSTANT 와 같이 접근하는 것을 피하려던 기교.
바람직하지 못하므로 enum을 써라. 독자적인 enum 소스파일을 만들어 사용하라. enum에는 toInt()와 같은 것이 있으면 좋다.
public enum Day{ MONDAY(0); TUESDAY(1); WEDNESDAY(2) THURSDAY(3); FRIDAY(4); SATURDAY(5); SUNDAY(6); private final int valueOfDay; private Day(int i) { valueOfDay = i} public int toInt() { return valueOfDay; } public Day generateFromInt(int valueOfDay){ for(Day day : Day.values) if(day.valueOfDay) == valueOfDay) return valueOfDay; } } |
부모 클래스는 자식 클래스를 몰라야한다. 다음 아래 코드와 같은 경우를 피하라
class People{ public Male getMale(){ new Male(); } public Female getFemale(){ new Female(); } } |
구조적으로 필요하다면 추상팩토리 패턴을 사용하라.
'[공부] 독서 > 클린 코드' 카테고리의 다른 글
[2019.03.01] 클린 코드 (점진적 개선) (0) | 2019.03.01 |
---|---|
[2019.02.14] 클린 코드 (정리 : 냄새와 휴리스틱) (0) | 2019.02.14 |
[2019.02.09] 클린 코드 (JUnit 리팩토링 사례 분석) (0) | 2019.02.09 |
[2019.02.09] 클린 코드 (동시성1) (0) | 2019.02.09 |
[2019.02.09] 클린 코드 (시스템, 창발성) (0) | 2019.02.09 |