2장 의미있는 이름
클린 코드 2장을 읽고 의도를 분명히 드러내는 이름, 그릇된 정보를 피하는 이름, 클래스·메서드 이름, 해법·문제 영역에서 가져온 이름, 의미 있는 맥락을 더하는 방법을 정리합니다.
2022.04.29 — 2022.05.02 · Clean Code · 다 읽는 데 약 77분
클린 코드 2장을 읽고 의도를 분명히 드러내는 이름, 그릇된 정보를 피하는 이름, 클래스·메서드 이름, 해법·문제 영역에서 가져온 이름, 의미 있는 맥락을 더하는 방법을 정리합니다.
클린 코드 3장을 읽고 함수를 작게 만들어 한 가지만 하게 하는 방법과 추상화 수준, switch 문, 함수 인수, 부수 효과, 명령과 조회 분리, try/catch 블록 분리를 예제와 함께 정리합니다.
클린 코드 4장을 읽고 주석이 나쁜 코드를 보완하지 못하는 이유와 코드로 의도를 표현하는 방법, 법적인 주석·결과를 경고하는 주석·TODO 주석·중요성을 강조하는 주석 같은 좋은 주석을 정리합니다.
클린 코드 5장을 읽고 파일 길이, 신문 기사 같은 위→아래 구성, 빈 행과 세로 밀집도, 수직 거리, 가로 공백 등 코드 형식을 잡는 기준과 팀 규칙의 중요성을 정리합니다.
클린 코드 6장을 읽고 자료 추상화, 절차적 코드와 객체지향 코드의 확장 방향이 반대인 자료/객체 비대칭, 기차 충돌 예제로 본 디미터 법칙을 정리합니다.
클린 코드 7장을 읽고 오류 코드 대신 예외를 쓰는 이유, try-catch-finally부터 작성하는 방법, checked 예외가 캡슐화를 깨는 문제, 외부 API 감싸기, 특수 사례 객체와 null을 반환하지 않는 방법을 정리합니다.
외부 패키지나 프레임워크를 사용할 때 생기는 경계 문제를, java.util.Map을 Sensors 클래스로 감싸 필요한 기능만 노출하는 예제로 정리합니다.
클린 코드 10장을 읽고 클래스 체계와 클래스를 작게 유지해야 하는 이유, 단일 책임 원칙, 응집도, OCP로 변경하기 쉬운 클래스, 인터페이스로 변경에서 격리하는 방법을 정리합니다.
클린 코드 11장을 읽고 시스템 제작과 사용의 분리, Main 분리, 추상 팩토리, 의존성 주입 개념을 예제와 함께 정리합니다.
클린 코드 11장 후반부를 읽고 시스템 확장과 횡단 관심사, 자바 프록시와 스프링 AOP 예제를 비교해 관심사를 분리하는 방법, POJO 시스템이 주는 기민함을 정리합니다.
클린 코드 학습을 11장까지 진행한 상황을 돌아보고, Spring 기초를 보완한 뒤 12장부터 이어가겠다는 계획을 정리합니다.