노마드코더

 

 

😀 책에서 기억하고 싶은 내용을 써보세요.

 

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를 긍정으로 만들어 조건문을 반전한다.

 

 

 

 

🤔 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.

  1. 책을 통해 캡슐화를 하는 과정을 직접적으로 보게 되면서 이해를 할 수 있었습니다.
    => 하나의 과정을 보여주면서 더 클린한 코드가 되가는 모습
    => 클린한 코드와 객체지향적 설계 코드가 비슷하다는 것을 느꼈습니다.

 

 

 

 

🔎 궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요. 

  • 보이스카우트 규칙이란?
    • 클린코드 18쪽에 나오는 내용이다. 
    • 잘 짠 코드가 전부는 아니다.
      시간이 지나도 언제나 깨끗하게 유지해야 한다.
    • 지속적인 개선이야말로 전문가 정신의 본질
  • 캡슐화란?
    • 객체의 속성(data fields)과 행위(메서드, methods)를 하나로 묶고,
      실제 구현 내용 일부를 외부에 감추어 은닉한다.
    • 캡슐화를 private이라고 단순하게 이야기하면 안된다는 이유를 알게 되었습니다.

 

 

 

👀 소감 3줄 요약

  • 객체지향 설계의 캡슐화가 클린한 코드를 만드는 과정
  • 부정문은 긍정문보다 이해하기 약간 더 어렵다
  • 코드를 직접 보면서 이론을 설명해줘서 이해하기 수월했습니다.

 

 

 

 

반응형

+ Recent posts