Clean Code 완성본
클린 코드(Clean Code) - 로버트 C. 마틴을 기반으로 작성된 책 요약 정리 문서입니다.
1장 깨끗한 코드
1. 📌 핵심 개념 정리 ✅ 요약하기 프로그래밍은 기계가 실행할 정도로 상세하게 요구사항을 명시하는 작업이며, 코드 없이는 요구사항을 충분히 표현하기 어렵다. 따라서 우리는 ...
2장 의미 있는 이름
1. 📌 핵심 개념 정리 ✅ 요약하기 1. 의도를 분명히 밝혀라 좋은 이름을 지으려면 시간이 걸리지만, 좋은 이름으로 절약하는 시간이 훨씬 더 많다. 주석이 필요하다면, 이름...
3장 함수
1. 📌 핵심 개념 정리 ✅ 요약하기 1. 작게 만들어라! 함수를 만드는 첫 번째 규칙은 '작게' 만드는 것이다. 두 번째 규칙은 '더 작게' 만드는 것이다. 함수는 가독성을...
4장 주석
1. 📌 핵심 개념 정리 ✅ 요약하기 1. 주석은 나쁜 코드를 보완하지 못한다. 나쁜 코드에 주석을 달지 마라. 새로 짜라. 코드에 주석을 추가하는 주된 이유는 코드 품질...
5장 형식 맞추기
1. 📌 핵심 개념 정리 ✅ 요약하기 1. 코드 형식의 목적 코드 형식은 의사소통의 일환이다. 오늘 구현한 기능이 다음 버전에서 바뀔 확률은 매우 높지만, 코드의 가독성은 ...
6장 객체와 자료 구조
1. 📌 핵심 개념 정리 ✅ 요약하기 변수를 비공개로 정의하는 이유가 있다. 남들이 변수에 의존하지 않게 만들고 싶기 때문이다. 그렇다면 어째서 수많은 프로그래머가 조회 함수...
7장 오류 처리
1. 📌 핵심 개념 정리 ✅ 요약하기 1. 오류 코드보다 예외를 사용하라 오류 플래그 설정이나 오류 코드 반환 방식은 호출자 코드를 복잡하게 만들고, 함수 호출 직후 오류...
8장 경계
1. 📌 핵심 개념 정리 ✅ 요약하기 1. 외부 코드 사용하기 패키지 제공자와 인터페이스 사용자 사이에는 적용성 극대화 vs. 사용자 요구 집중이라는 긴장이 존재하며, 이...
9장 단위 테스트
1. 📌 핵심 개념 정리 ✅ 요약하기 1. TDD 법칙 세 가지 첫째 법칙: 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다. 둘째 법칙: 컴파일은 실패...
10장 클래스
1. 📌 핵심 개념 정리 ✅ 요약하기 1. 클래스 체계 클래스를 정의하는 표준 자바 관례에 따르면, 가장 먼저 변수 목록이 나온다. 정적 공개 상수가 있다면 맨 처음에...
11장 시스템
1. 📌 핵심 개념 정리 ✅ 요약하기 1. 도시를 세운다면? 도시가 잘 돌아가는 이유는 적절한 추상화와 모듈화 때문이다. 큰 그림을 이해하지 못할지라도 개인과 개인이 관리...
12장 창발성
1. 📌 핵심 개념 정리 ✅ 요약하기 1. 창발적 설계로 깔끔한 코드를 구현하자 대다수는 켄트 벡이 제시한 단순한 설계 규칙 네 가지가 소프트웨어 설계 품질을 크게 높여준다...
13장 동시성
1. 📌 핵심 개념 정리 ✅ 요약하기 객체는 처리의 추상화다. 스레드는 일정의 추상화다. 제임스 O. 코플리엔 1. 동시성이 필요한 이유 동시성이란? 동시성은 결합(c...
14장 점진적인 개선
1. 📌 핵심 개념 정리 ✅ 요약하기 이 챕터에서는 저자가 겪은 점진적인 개선을 보여주는 사례를 다룬다. main 함수에서 인수 문자열을 다루는 Args 관련 코드를 살펴보자...
15장 JUnit 들여다보기
1. 📌 핵심 개념 정리 ✅ 요약하기 1. JUnit 프레임워크 JUnit은 저자가 많지만 켄트 벡과 에릭 감마 두 사람이 아틀란타 행 비행기를 타고 가다 만들었다. 저자가...
16장 SerialDate 리팩터링
1. 📌 핵심 개념 정리 ✅ 요약하기 1. 첫째, 돌려보자 SerialDateTest 또는 SerialDateTests라는 클래스는 단위 테스트 케이스를 몇 개 포함하며, ...
17장 냄새와 휴리스틱
1. 📌 핵심 개념 정리 ✅ 요약하기 1. 주석 (Comments) 부적절한 정보: 소스 코드 관리 시스템, 버그 추적 시스템 등 다른 곳에 저장해야 할 정보(작성자, 수정...