클린 코드의 기술 - 단순함의 노하우
크리스찬 메이어 (지은이),유동환 (옮긴이)영진.com(영진닷컴)2023-01-20
흔히 우리는 이메일과 전화를 하면서 코딩하는 사람이 일을 잘한다고 여겨지기도 한다. 하지만 성과를 내는 사람은 여러 가지 일을 한 번에 하는 것이 아닌 해야 할 일을 정하고 파고들어야 이뤄낼 수 있다고 말한다.
이 책은 여러분이 실무 프로그래머로서 아홉 가지 원칙들을 적용하여 잠재력을 획기적으로 향상되는 방법을 보여준다. 이 원칙들을 관통하는 한 가지 요점은 모든 일을 단순하게 만들고 집중을 하는 것에 초점이 맞춰져 있다.
불필요한 코드를 빼고 최소한의 기능들을 빠르게 만들어서 사용자들에게 빠르게 피드백을 받는다면 어떤 기능이 필요하고 어떤 기능이 불필요한지 알 수 있다. 이런 과정 자체를 빠르게 이뤄질 수 있으므로 그만큼 사용자의 확보와 출시 일시를 빠르게 정할 수 있다. 반대로 혼자 프로그래밍하게 되면 어떤 기능이 들어갈지 사용자들은 알지 못하게 된다. 그렇다고 시간이 걸려서 나온 프로그램이 사용자들의 요구를 충족한다는 보장도 없다.
저자의 경험도 그렇다. 필요할 것 같은 기능들을 추가해서 제품을 만들었지만 자신의 생각과는 다르게 기능들을 활용하지 않는 모습을 보였다. 그러므로 강력하게 단순하게 하고 한 개의 일을 하는데 집중하자고 전하고 있다.
목차
추천의 글
감사의 말
역자의 말
들어가며
1장 복잡성은 어떻게 생산성을 해치는가
_복잡성은 무엇인가?
_프로젝트 생명주기의 복잡성
_소프트웨어와 알고리즘 이론의 복잡성
_학습의 복잡성
_일상 속에 복잡성 혹은 서서히 죽어가는 복잡성
_결론
2장 80:20 원칙
_80:20 원칙 기본
_응용 프로그램 소프트웨어 최적화
_생산성
_성공 지표
_집중과 파레토 분포
_프로그래머를 위한 시사점
_파레토는 프랙탈이다
_80:20 실천 팁
_참고 문헌
3장 최소 기능 제품 만들기
_문제 시나리오
_최소 기능 제품 만들기
_결론
4장 클린하고 단순한 코드 작성하기
_왜 클린 코드를 작성하는가?
_클린 코드 작성하기: 원칙들
_결론
5장 성급한 최적화는 모든 악의 근원
_성급한 최적화의 유형들
_성급한 최적화 이야기
_성능 튜닝을 위한 6가지 팁
_결론
6장 몰입
_몰입은 무엇인가?
_몰입에 이르는 법
_프로그래머를 위한 몰입 팁
_결론
_참고 문헌
7장 한 개의 일을 잘하기와 다른 유닉스 원칙들
_유닉스의 부상
_철학의 개요
_15개의 유용한 유닉스 원칙들
_결론
_참고 문헌
8장 디자인은 적은 것이 더 많다
_휴대폰 진화에서의 최소주의
_검색의 최소주의
_머터리얼 디자인
_머터리얼 디자인 구현하기
_결론
_참고 문헌
9장 집중
_복잡성에 대한 무기
_원칙들을 통합하기
_결론
저자의 편지
인덱스