다음은 로버트 C. 마틴 Clean Code(클린 코드)를 읽고, 정리한 내용입니다.
원초적 난제
프로그래머는 근본적인 가치에서 난제에 봉착한다. 한 두해 이상 우리 분야에 몸담은 프로그래머라면 누구나 나쁜 코드가 업무 속도를 늦춘다는 사실을 익히안다. 그럼에도 모든 프로그래머가 기한을 맞추려면 나쁜 코드를 양산할 수밖에 없다고 느낀다.
진짜 전문가는 두번째 부분이 틀렸다는 사실을 잘 안다. 나쁜 코드를 양산하면 기한을 맞추지 못한다. 오히려 엉망진창인 상태로 인해 속도가 곧바로 늦어지고, 결국 기한을 놓친다.
기한을 맞추는 유일한 방법은, 그러니까 빨리 가는 유일한 방법은, 언제나 코드를 최대한 깨끗하게 유지하는 습관이다.
깨끗한 코드는 한 가지를 제대로 한다
마지막으로 비야네는 깨끗한 코드란 한가지를 잘 한다고 단언한다.
수많은 소프트웨어 설계 원칙이 이 간단한 교훈 하나로 귀결된다는 사실은 우연이 아니다. 수많은 저술가들이 이 생각을 나름대로 표현하려고 애썼다. 나쁜 코드는 너무 많은 일을 하려 애쓰다가 의도가 뒤섞이고 목적이 흐려진다. 깨끗한 코드는 한 가지에 '집중'한다. 각 함수와 클래스와 모듈은 주변 상황에 현혹되거나 오염되지 않은 채 한 길만 걷는다.
깨끗한 코드란 다른 사람이 고치기 쉽다
데이브는 깨끗한 코드란 다른 사람이 고치기 쉽다고 단언한다. 실제도 읽기 쉬운 코드와 고치기 쉬운 코드는 엄연히 다르다.
깨끗한 코드란 작은 코드다
'의존성은 최소이며 각 의존성을 명확히 정의한다. api는 명확하며 최소로 줄였다.'
데이브는 '최소'라는 단어를 두번이나 사용했다.
명백히 그가 큰 코드보다 작은 코드에 가치를 둔다는 의미다. 이는 우리 분야가 탄생한 이래로 소프트웨어 문헌에서 계속 반복하는 교훈이기도 하다. 작을수록 좋다.
켄트 백이 제안한 단순한 코드 규칙
중요한 순으로 나열
- 모든 테스트를 통과한다.
- 중복이 없다.
- 시스템 내 모든 설계 아이디어를 표현한다.
- 클래스, 메서드, 함수등을 최대한 줄인다.
'Clean Code' 카테고리의 다른 글
5장 형식 맞추기 (0) | 2024.02.19 |
---|---|
4장 주석 (1) | 2024.02.11 |
3장 함수 (0) | 2024.02.09 |
2장 의미있는 이름 (0) | 2024.02.08 |
클린 코드를 향한 첫 걸음 (0) | 2024.02.07 |