깨끗한 코드란 무엇인가.
으미가 중요하다~ 이말이야~
함함
주석 깡통
5장 형식맞추기
객체와 자료구조
오류 처리를 이쁘게 하는 방법.
외부 코드와 시스템 경계 관리 외부 코드 사용하기 긴장: 인터페이스 제공자와 사용자 간의 긴장. 제공자는 유연성을, 사용자는 필요에 맞는 인터페이스를 원함. 문제점: java.util.Map 같은 유연한 인터페이스는 기능이 많지만 오용될 수 있음. Map 사용 예시 문제: Map을 사용하는 코드는 특정 유형으로 변환하는 책임이 클라이언트에 있음. ...
TDD 법칙 세 가지 TDD는 단위 테스트를 먼저 작성하는 것을 요구한다. 세 가지 법칙은 다음과 같다: 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다. 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다. 깨끗한 테스트 코드 유지하기 테스트 코...
클래스 체계 클래스 정의 시 가장 먼저 변수 목록이 나와야 함. 정적(public) 상수 → 정적(private) 변수 → 인스턴스(private) 변수 순으로 나열. 공개 함수는 비공개 함수보다 먼저 나와야 하며, 비공개 함수는 호출하는 공개 함수 직후에 배치. 캡슐화 변수와 유틸리티 함수는 가능한 공개하지 말아야 함. 테스트 코드에서 접근이 필요...
프록시? AOP?
12장 창발성 창발적 설계로 깔끔한 코드를 구현하자 켄트 벡이 제시한 단순한 설계 규칙 네 가지는 소프트웨어 설계 품질을 높이는 데 큰 도움이 된다. 이 네 가지 규칙은 중요도 순서대로 다음과 같다 모든 테스트를 실행한다. 중복을 없앤다. 프로그래머 의도를 표현한다. 클래스와 메서드 수를 최소로 줄인다. 단순한 설계 규칙 1: 모든 테스트를 실행하...
14장 점진적인 개선 서론 명령줄 인수를 파싱하는 유틸리티 클래스 Args를 구현하는 과정에서 점진적으로 코드를 변경해나가는 것을 저자가 직접 보여준다. Args 클래스 구현 과정 구현하고 싶은 것 자바는 커맨드 라인의 인수를 받는 명령행 함수를 사용할 수 있다. 만약 MyApp이라는 자바 코드를 해당 명령줄 함수와 함께 실행하고 싶다면: 이 ...
냄새와 휴리스틱이라 쓰고 클린코드 법전이라고 읽는다.