클린 코드를 읽는 이유
모든 프로그래머는 좋은 코드를 짜고자 할 것이다. 하지만, 모든 프로그래머는 나쁜 코드를 짠 경험은 누구나 있다. 그 이유는 무엇일까? 몰라서? 급해서? 아마 모두 맞는 말이지만 어떤 이유에서는 나쁜 코드를 짜놓고 보통은 “나중에 다시 손보지 뭐” 라는 안일한 생각 때문이다. 이러한 생각은 르블랑의 법칙을 몰랐기 때문이다. 나중은 돌아오지 않는다.
나쁜 코드로 인해 치르는 대가
개발 속도를 크게 떨어뜨림
- 초반엔 진도가 빠르게 나가도 나중에 코드를 고칠때 간단한 변경이 없기 마련이다.
- 나쁜 코드가 쌓일 수록 쓰레기 더미는 쌓여가고 팀 생산성이 떨어짐
원초적 난제
개발 마감을 맞추기 위해 속도를 냄 → 속도를 내다보면 한 개발에 시간을 많이 투자하지 못함 → 나쁜 코드 양성 → 프로젝트 속도 지연 → 멸망
결국, 이 난제는 아이러니 하게 시간이 없어 속도를 내는 것이 아닌 시간을 더 투자하여 깨끗하게 코드를 유지하는 것이 방법임
그럼 결국 깨끗한 코드는 어떻게 작성하는가?
- 우선 코드를 구분할 수 있어야한다.→ 코드 감각을 통해 나쁜 코드를 좋은 코드로 개선할 수 있는 방법을 생각해내야 한다.
- 다시 말해, 좋은 코드와 나쁜 코드를 구분할 수 있는 능력을 길러야한다. 그 능력을 다시 말해 ‘코드 감각’ 이라고 한다.
깨끗한 코드를 작성하는 사람들의 의견
1. 비야네 스트롭스트룹
깨끗한 코드 = 보기에 즐거운 코드 우아하지 않은 코드는 바람직하지 않은 결과를 초래 ⇒ 나쁜코드는 나쁜 코드를 유혹
2. 그래디 부치
가독성이 중요 명쾌한 추상화 = 코드는 사실에 기반해야하며 필요한 내용만 담아야함
3. 데이브 토마스
읽기 쉬운 코드 ≠ 고치기 쉬운 코드 의존성 최소로 줄여야함
4. 마이클 페더스
깨끗한 코드는 누군가 주의 깊게 봤다는 느낌을 줌 코드를 주의 깊게 짜야함
5. 론 제프리스
중복을 피하고, 한 기능만 수행하라 제대로 표현하고, 작게 추상화해라
6. 워드 커닝햄
코드를 읽으면서 짐작했던 기능을 각 루틴이 그대로 수행하는 것
7. 우리들 생각
절대적으로 옳은 기준은 없다. 하지만, 자신이 속한 집단 내에서의 방식이 가장 좋다고 간주한다. 이 책은 오브젝트 멘토 진영이 생각하는 깨끗한 코드를 설명함 이 책을 통해 높은 수준의 코드를 작성 할 수 있으리라 기대하지만 “옳다”고는 단정할 수 없음.
보이스카우트 규칙
- 코드를 잘 짜기만 하기보다 언제나 깨끗하게 유지 관리를 해야한다.
- 미국 보이스카우트가 따르는 간단한 규칙이란다시 말해, 체크아웃할 때보다 더 깨끗한 코드를 체크인한다면 코드는 나빠지지 않는다.
- 여러반 반복해서 정리를 하다보면 충분히 좋은 코드가 될 것이다.
- “캠프장은 처음 왔을 때보다 더 깨끗하게 해놓고 떠나라”
결론
예술에 대한 책을 읽는다고 예술가가 된다는 보장은 없다. 책은 단지 예술가가 사용하는 도구와 기법, 그리고 생각하는 방식을 소개할 뿐이다.
- 좋은 코드, 나쁜 코드를 많이 보며 경험을 쌓는다.
- 그리고 연습!연습!
원본 노션 링크
[Clean Code] - 1장 깨끗한 코드
클린코드 p.2~p.20
leapday.notion.site
'[Book] > Clean Code' 카테고리의 다른 글
[Clean Code] - 4장 주석(1) 좋은 주석이란? (1) | 2023.02.13 |
---|---|
[Clean Code] - 3장 함수(2) (0) | 2023.02.08 |
[Clean Code] - 3장 함수(1) (0) | 2023.02.07 |
[Clean Code] - 2장 의미 있는 이름 (0) | 2023.01.26 |