책/클린 코드

디미터 법칙은 잘 알려진 휴리스틱으로 모듈은 자신이 조작하는 객체의 속사정을 몰라야 한다는 법칙이다. 습관적 getter, setter 문단에서 봤듯이, 객체는 자료를 숨기고 함수를 공개한다. 좀 더 정확히 표현하면, 디미터 법칙은 “클래스 C의 메서드 f는 다음과 같은 객체의 메서드만 호출해야 한다”고 주장한다. 클래스 C f가 생성한 객체 f 인수로 넘어온 객체 C 인스턴스 변수에 저장된 객체 하지만 위 객체에서 허용된 메서드가 반환하는 객체의 메서드는 호출하면 안 된다. 다시 말해, 낯선 사람은 경계하고 친구랑만 놀라는 의미이다. 아래는 예시이다. final String outputDir = ctxt.getOptions().getScratchDir().getAbsolutePath(); 흔히 위와 같..
아래 두 코드 예시를 보자 public class Point { public double x; public double y; } public interface Point { double getX(); double getY(); void setCartesian(double x, double y); double getR(); double getTheta(); void setPolar(double r, double theta); } 두 번째 코드는 자료 구조 이상을 표현한다. 접근 정책을 강제하고 추상적이지만 자료구조를 명백하게 표현한다. 첫 번째 코드는 getter, setter가 노출되고 개별적으로 변수 값을 읽고 설정하게 강제한다. 변수가 private으로 정의되고 getter, setter가 있다면 별..
pg.10 지금까지 책은 계속해서 나에게 깨끗한 코드의 중요성을 설명하고 있다. 나쁜 코드를 사용하면 생산성이 낮아진다는 여러 가지 예시를 들었고, 결국 깨끗한 코드를 사용해야만 원초적인 목표를 달성할 수 있다는 결론을 제시했다. 책은 이어서 깨끗한 코드의 정의에 대해서 설명하고 있다. 저명한 개발자들의 다양한 의견이 있으므로 키워드와 짧은 문장으로 정리해야겠다. "우아한 코드", "효율적인 코드", "간결한 코드", "꼼꼼한 코드" "의도가 분명한 코드", "명쾌한(단호한) 추상화와 단순한 제어문으로 가득하다" "가독성이 좋은 코드", "다른 사람이 고치기 쉬운 코드", "테스트 코드가 있는 코드" "중복을 피하고, 한 기능만 수행하고, 제대로 표현하고, 작게 추상화하는 코드" 이 키워드를 아우르는 나..
@xftg77g
'책/클린 코드' 카테고리의 글 목록