😀 책에서 기억하고 싶은 내용을 써보세요.
public String compact(String message) {
if (shouldNotCompact())
return Assert.format(message, expected, actual);
findCommonPrefix();
...
}
private boolean shouldNotCompact() {
return expected == null || actual == null || areStringsEqual();
}
- 의도를 명확히 표현하려면 조건문을 캡슐화해야 한다.
- 조건문을 메서드로 뽑아내 적잘한 이름을 붙인다.
public String compact(String message) {
if (canBeCompacted()) {
findCommonPrefix();
...
} else {
return Assert.format(message, expected, actual);
}
}
private boolean canBeCompacted() {
return expected != null && actual != null && !areStringsEqual();
}
- 부정문은 긍정문보다 이해하기 약간 더 어렵다.
그러므로 첫 문장 if를 긍정으로 만들어 조건문을 반전한다.
🤔 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.
- 책을 통해 캡슐화를 하는 과정을 직접적으로 보게 되면서 이해를 할 수 있었습니다.
=> 하나의 과정을 보여주면서 더 클린한 코드가 되가는 모습
=> 클린한 코드와 객체지향적 설계 코드가 비슷하다는 것을 느꼈습니다.
🔎 궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
- 보이스카우트 규칙이란?
- 클린코드 18쪽에 나오는 내용이다.
- 잘 짠 코드가 전부는 아니다.
시간이 지나도 언제나 깨끗하게 유지해야 한다. - 지속적인 개선이야말로 전문가 정신의 본질
- 캡슐화란?
- 객체의 속성(data fields)과 행위(메서드, methods)를 하나로 묶고,
실제 구현 내용 일부를 외부에 감추어 은닉한다. - 캡슐화를 private이라고 단순하게 이야기하면 안된다는 이유를 알게 되었습니다.
- 객체의 속성(data fields)과 행위(메서드, methods)를 하나로 묶고,
👀 소감 3줄 요약
- 객체지향 설계의 캡슐화가 클린한 코드를 만드는 과정
- 부정문은 긍정문보다 이해하기 약간 더 어렵다
- 코드를 직접 보면서 이론을 설명해줘서 이해하기 수월했습니다.
반응형