클린코드란
- 성능이 좋은 코드
- 의미가 명확한 코드
- 가독성이 좋은 코드
- 중복이 제거된 코드
나쁜 코드
1) 성능이 나쁜 코드
불필요한 연산이 들어가서 개선 여지 있는 코드
2) 의미 모호한 코드
이해가 어려운 코드 ( ex. 네이밍과 그 내용이 다른 코드 )
3) 중복된 코드
비슷한 내용이 중복되는 코드 → 버그💣 발생 가능성 증가
나쁜 코드가 나쁜 이유
1) 깨진 유리창 법칙 🔳
나쁜 코드는 깨진 유리창처럼 계속 나쁜 코드가 만들어지도록 한다.
깨진 유리창 하나를 방치해 두면, 그 지점을 중심으로 범죄가 확산되기 시작한다는 이론으로, 사소한 무질서를 방치하면 큰 문제로 이어질 가능성이 높다는 의미를 담고 있다 ( 위키 백과 참조 )
2) 생산성 저하 🕛
기술 부채를 만들어 수정을 더 어렵게 한다. ( + 잘못된 로직 분석/고치는데 걸리는 시간↑, 나쁜 습관을 배울 수 도 있음 )
3) 나쁜 코드 개선 위해 새로운 시스템 개발 🖥
현 시스템을 유지보수하며 대체할 새로운 시스템 개발은 현실적으로 매우 어렵다.
나쁜 코드를 짜는 이유
1) 일정이 촉박해서 📅
일정 안에 새로운 기능을 완성해야 함 → 하지만 나쁜 코드는 생산성을 저하시키기 때문에 오히려 일정을 못 맞춤
경험상 작은 회사에서는 특히 영업 이익을 더 중요시해서 개발자 1명이 여러개 프로젝트를 동시에 하게 됨
Client 한테 무조건 다 해주겠다고 맡겨달라 하는데, 결국 책임지는 것은 개발자 (조심💩)
2) 영향 범위가 넓어서
생각보다 범위가 넓어서 잘못 건드렸다가 다른 부분에서 버그가 발생할까봐
책에 소개 된 좋은 말
👨💻Bjarne Stroustrup
"깨끗한 코드는 한 가지를 제대로 한다."👨💻Grady Booth
"깨끗한 코드는 잘 쓴 문장처럼 읽힌다."
👨💻Dave Thomas
"깨끗한 코드는 작성자가 아닌 사람도 읽기 쉽고 고치기 쉽다."
👨💻Ward Cunningham
"깨끗한 코드는 언제나 누군가 주의 깊게 짰다는 느낌을 준다."
👨💻Ward Cunningham
"코드를 읽으면서 짐작했던 기능을 각 루틴이 그대로 수행한다면 깨끗한 코드라 불러도 되겠다."
느낀점
생각/철학을 통해 깨끗한 코드의 정의를 설명하는 내용이 읽기 쉬워서 너무 와닿았다.그리고 한편으론 그동안 생각치 못하고 소홀히 한 부분을 다시 자각할 수 있는 챕터였다.
(만약 이 책을 좀 더 일찍 만났다면, 이전 SI 회사에서 좀 더 빨리 나오지 않았을까 싶다😂)
'독서 > 📚' 카테고리의 다른 글
[도서 리뷰] 비전공자를 위한 이해할 수 있는 IT 지식 (0) | 2022.05.06 |
---|---|
[클린코드] 5장. 형식 맞추기 (0) | 2022.02.22 |
[클린코드] 4장. 주석 (0) | 2022.02.22 |
[클린코드] 3장. 함수 (0) | 2022.02.22 |
[클린코드] 2장. 의미 있는 이름 (0) | 2022.02.22 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!