Skip to main content

Clean Code

『Clean Code(클린 코드)』은 오브젝트 멘토(Object Mentor)의 동료들과 힘을 모아 ‘개발하며’ 클린 코드를 만드는 최상의 애자일 기법을 소개하고 있다. 소프트웨어 장인 정신의 가치를 심어 주며 프로그래밍 실력을 높여줄 것이다. 여러분이 노력만 한다면. 어떤 노력이 필요하냐고? 코드를 읽어야 한다. 아주 많은 코드를. 그리고 코드를 읽으면서 그 코드의 무엇이 옳은지, 그른지 생각도 해야 한다. 좀 더 중요하게는 전문가로서 자신이 지니는 가치와 장인으로서 자기 작품에 대한 헌신을 돌아보게 된다.

1장 깨끗한 코드

1. 📌 핵심 개념 정리 ✅ 요약하기 앞으로 코드가 사라질 가망은 없다. 프로그래밍이란 기계가 실행할 정도로 상세하게 요구사항을 명시하는 작업을 말한다. 이러한 이유로 코드의...

2장 의미 있는 이름

1. 📌 핵심 개념 정리 ✅ 요약하기 의도를 분명히 밝혀라. 좋은 이름을 지으려면 시간이 걸리지만 좋은 이름으로 절약하는 시간이 훨씬 더 많다. 만약 주석이 필요하다면 그...

3장 함수

1. 📌 핵심 개념 정리 ✅ 요약하기 작게 만들어라! 함수를 만드는 첫번째 규칙은 작게 만들기다. 일반적으로 함수는 20줄 이하로 작성하고 if/else, while, f...

4장 주석

1. 📌 핵심 개념 정리 ✅ 요약하기 나쁜 코드에 주석을 달지 마라. 새로 짜라. 브라이언 W. 커니핸, P.J. 플라우거 주석은 나쁜 코드를 보완하지 못한다 코드에 ...

5장 형식 맞추기

1. 📌 핵심 개념 정리 ✅ 요약하기 적절한 행 길이를 유지하라 소스 코드의 세로 길이는 얼마나 길어야 적당한가? Junit, FitNesse, testNG, Time a...

6장 객체와 자료 구조

1. 📌 핵심 개념 정리 ✅ 요약하기 어째서 수많은 프로그래머가 getter/setter를 당연하게 public으로 설정해 변수를 외부에 노출할까? 자료 추상화 변수를...

7장 오류 처리

1. 📌 핵심 개념 정리 ✅ 요약하기 오류 코드보다 예외를 사용하라 알고리즘과 오류를 처리하는 알고리즘을 분리하기 위해 예외를 사용하라 개선 전 public void ...

8장 경계

1. 📌 핵심 개념 정리 ✅ 요약하기 경계 살피고 익히기 외부 코드를 통합하기 전에 간단한 테스트 케이스를 작성해 외부 코드를 익히자. 짐 뉴커크는 이를 학습 테스트라고 ...

9장 단위 테스트

1. 📌 핵심 개념 정리 ✅ 요약하기 TDD 법칙 세 가지 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다. 컴파일은 실패하지 않으면서 실행이 실패하는 ...

10장 클래스

1. 📌 핵심 개념 정리 ✅ 요약하기 클래스는 작아야 한다! 클래스를 만들 때 가장 중요한 것은 클래스가 맡은 책임을 작게 만드는 것이다. 클래스의 이름은 해당 클...

11장 시스템

1. 📌 핵심 개념 정리 ✅ 요약하기 시스템 제작과 시스템 사용을 분리하라 모든 애플리케이션에서 풀어야 할 관심사는 초기화 단계이다. 대다수의 애플리케이션이 초기화...

12장 창발성(創發性)

1. 📌 핵심 개념 정리 ✅ 요약하기 창발적 설계로 깔끔한 코드를 구현하자 켄트 벡이 강조한 단순한 설계 네 가지 규칙(중요도 순으로 나열됨) 모든 테스트를 실행한다. ...

13장 동시성

1. 📌 핵심 개념 정리 ✅ 요약하기 객체는 처리의 추상화다. 스레드는 일정의 추상화다. 제임스 O. 코플리엔 동시성이 필요한 이유? 동시성은 결합(Coupling...

14장 점진적인 개선

1. 📌 핵심 개념 정리 ✅ 요약하기 이 챕터에서는 저자가 겪은 점진적인 개선을 보여주는 사례를 다룬다. main 함수에서 인수 문자열을 다루는 Args 관련 코드를 살펴보자...

15장 JUnit 들여다보기

1. 📌 핵심 개념 정리 ✅ 요약하기 JUnit 프레임워크 JUnit은 저자가 많지만 켄트 벡과 에릭 감마 두 사람이 아틀란타 행 비행기를 타고 가다 만들었다. 저자가 챕...

16장 SerialDate 리팩터링

1. 📌 핵심 개념 정리 ✅ 요약하기 첫째 돌려보자 SerialDateTests 클래스는 모든 경우를 점검하지 않는다는 사실이 드러난다. MonthCodeToQuarte...

17장 냄새와 휴리스틱

1. 📌 핵심 개념 정리 ✅ 요약하기 주석 부적절한 정보 변경 이력과 같은 주석은 적절하지 못하다. 일반적으로 작성자, 최종 수정일, SPR(Software Proble...