Devin.KR

심화 · 전체 목차 공개

클린 코드 노하우 - 읽히는 코드로 고치는 순서

이름·함수 나누기·조건문 정리·주석·오류 처리·클래스 책임·불변 값 객체·읽히는 테스트·안전한 리팩터링 순서·팀 규칙을 학원 수강 관리 코드에 적용하고, 고치기 전후 결과가 같은지 매번 실행으로 확인한다.

이 책을 읽기 전에

Java 문법·컬렉션·예외, 클래스와 인터페이스를 만들어 본 정도

공개 12/12장 · 목차 구성 2026-09-12

CONTENTS

목차

읽음 표시는 직접 선택하며 자동 완료되지 않습니다.

  1. 01
    읽히는 코드란 무엇인가 - 측정할 수 있는 기준

    읽는 시간이 쓰는 시간보다 길다는 관점, 이름·크기·중첩·중복이라는 관찰 가능한 기준, 규칙보다 의도, 완성 코드는 소스 문자열에서 메서드 길이·중첩 깊이·긴 매개변수 목록을 세어 표로 출력한다

  2. 02
    이름 짓기 - 의도·단위·범위

    의도를 드러내는 이름, 단위와 형식을 이름에, 축약 피하기, 범위가 넓을수록 긴 이름, 불리언 이름, 완성 코드는 이름만 바꾼 전/후 수강료 계산이 같은 결과를 내는지 확인한다

  3. 03
    함수 나누기 - 한 가지 일과 추상화 수준

    한 함수 한 가지 일, 같은 추상화 수준 유지, 매개변수 줄이기, 부수 효과 드러내기, 명령과 조회 분리, 완성 코드는 긴 정산 메서드를 작은 메서드로 나누고 결과가 같은지 비교한다

  4. 04
    조건문 정리 - 보호 구문·다형성·표

    깊은 중첩 줄이기(보호 구문), 반복되는 분기를 다형성이나 맵 기반 표로, 매직 넘버를 상수로, switch 식, 완성 코드는 할인 규칙 분기를 표로 바꾸고 모든 경우의 결과를 대조한다

  5. 05
    주석 - 써야 할 것과 지워야 할 것

    코드가 말하지 못하는 이유·제약·근거만 주석으로, 낡은 주석의 해악, 주석 대신 이름과 함수, Javadoc 이 필요한 곳, 완성 코드는 주석 처리된 코드와 낡은 주석을 찾아내는 간단한 검사기를 만든다

  6. 06
    오류 처리 - 예외를 설계하기

    null 대신 Optional 또는 빈 컬렉션, 의미 있는 예외 타입, 오류 처리와 정상 흐름 분리, 실패해도 일관된 상태, 완성 코드는 수강 신청 실패 경로를 정리한 전/후의 결과와 상태를 비교한다

  7. 07
    클래스와 책임 - 응집도와 결합도

    한 클래스 한 이유로 변경, 데이터와 동작을 함께, 게터 남용과 묻지 말고 시키기, 생성자 주입으로 의존 드러내기, 완성 코드는 거대한 관리 클래스를 역할별 클래스로 나누고 결과를 대조한다

  8. 08
    불변성과 값 객체

    값 객체(record)로 금액·기간 표현, 방어적 복사, 불변 컬렉션, 공유 상태 버그 줄이기, 완성 코드는 금액을 int 에서 Money 값 객체로 바꾼 전/후의 결과와 반올림 차이를 보여 준다

  9. 09
    테스트도 코드다 - 읽히는 테스트

    준비·실행·확인 구조, 테스트 이름, 테스트 데이터 빌더, 하나의 개념만 검증, 테스트가 문서 역할, 완성 코드는 테스트 묶음을 정리하고 같은 버그를 잡는지 확인한다

  10. 10
    리팩터링 순서 - 안전하게 조금씩

    테스트로 감싸기→이름→추출→이동→구조 변경 순서, 작은 단계와 매 단계 실행, 동작 변경과 구조 변경 분리, 완성 코드는 리팩터링 단계마다 결과 표가 같은지 자동으로 확인하는 실행기를 만든다

  11. 11
    팀 규칙으로 만들기 - 포매터·정적 검사·리뷰 기준

    개인 취향과 팀 규칙 구분, 자동화할 수 있는 것은 도구로, 리뷰 기준 문서, 예외 승인 절차, AI 가 만든 코드에도 같은 기준, 완성 코드는 규칙 목록으로 코드 조각을 검사해 위반을 보고한다

  12. 12
    종합 실습 - 오래된 정산 모듈 다시 쓰기

    앞 장의 기법을 순서대로 적용해 오래된 수강료 정산 모듈을 고치고, 단계마다 결과 대조와 지표 변화(메서드 길이·중첩·중복)를 보여 준다

이 책은 Devin.KR 원고를 참조합니다. 원고의 원래 주소와 저작자 표기를 유지하며 같은 글을 다시 등록하지 않습니다. 수정된 원고는 읽기 화면에서 재검수 상태를 확인할 수 있습니다.

이 책·표지의 저작권 및 출처 관련 요청