글모음

[독서] - Clean code / 1장 깨끗한 코드 본문

프로그래밍 공부/기타

[독서] - Clean code / 1장 깨끗한 코드

Nova_61 2022. 4. 23. 21:55
728x90
반응형

1장 깨끗한 코드


 

< 기억하고 싶은 내용 >


- 2p. 코드가 존재하리라

코드의 종말이 코앞에 닥쳤다고 주장하는 사람이 없지 않다. 코드를 자동으로 생성하는 시대가 다가온다는 말이다. 그때가 되면 프로그래머는 필요가 없다. 영업 직원이 명세에서 프로그램을 자동으로 생성하면 되니까.

 헛소리! 앞으로 코드가 사라질 가망은 전혀 없다! 왜? 코드는 요구사항을 상세히 표현하는 수단이니까! 어느 수준에 이르면 코드의 도움 없이 요구사항을 상세하게 표현하기란 불가능하다. 추상화도 불가능하다. 정확히 명시하는 수밖에 없다. 기계가 실행할 정도로 상세하게 요구사항을 명시하는 작업, 바로 이것이 프로그래밍이다. 이렇게 명시한 결과가 바로 코드다.

 

-> 문득 유튜브에서 본 AI 기반 웹 개발 툴 시연이 생각난다. 기억은 잘 나지 않는데, 타이핑한 대로 웹 개발을 해주는데 꽤나 복잡한 요구사항도 해결했는데, 제일 추천수가 많은 댓글이, '나는 div 중앙 정렬도 몰라서 헷갈리는데 AI는 몇 분 만에 해결해버리네'였다. 웃기게도 나도 댓글처럼 똑같은 생각을 했다. 동영상을 보고 진짜 언젠간 AI 써서 개발하는 거 아닌가.. 하는 생각도 들었지만 책에서 말하는 것처럼 요구사항을 상세화하는 건 쉬운 일이 아니다. 대신 단순 코더가 되면 안 된다는 생각이 다시 한번 든다.

 

-4p. 나쁜 코드로 치르는 대가

나쁜 코드는 개발 속도를 크게 떨어뜨린다. 프로젝트 초반에는 번개처럼 나가다가 1~2년만에 굼벵이처럼 기어가는 팀도 많다. 코드를 고칠 때마다 엉뚱한 곳에서 문제가 생긴다.... 매번 얽히고설킨 코드를 '해독'해서 읽히고 설킨 코드를 더한다. 시간이 지나면서 쓰레기 더미는 점점 높아지고 깊어지고 커진다. 청소할 방법이 없다. 불가항력이다.

 ~ 생산성을 증가시키려는 희망을 품고 프로젝트에 인력을 추가로 투입한다. 하지만 새 인력은 시스템 설계에 대한 조예가 깊지 않다. ~ 그래서 결국은 나쁜 코드를 더 많이 양산한다. 덕택에 생산성은 더더욱 떨어져 거의 0이 된다.

-> 개발자라면 반드시 공감할 이 상황 아닐까..

 

7p. 원초적 난제

빨리 가는 유일한 방법은, 언제나 코드를 최대한 깨끗하게 유지하는 습관이다.

 

8p. 깨끗한 코드라는 예술?

어떤 사람은 코드 감각을 타고난다. 어떤 사람은 투쟁해서 얻어야 한다. '코드 감각'이 있으면 좋은 코드와 나쁜 코드를 구분한다. 그뿐만이 아니다. 절제와 규율을 적용해 나쁜 코드를 좋은 코드로 바꾸는 전략도 파악한다.

-> 책에서 나오는 실력 좋은 프로그래머들도 이렇게 좋은 코드를 위해 엄청나게 노력하고 고민하는데 나도 진짜 연습을 많이 해야겠다.

 

9p. 나쁜 코드는 나쁜 코드를 '유혹'한다! 

나쁜 코드는 너무 많은 일을 하려 애쓰다가 의도가 뒤섞이고 목적이 흐려진다.

깨끗한 코드는 한가지에 '집중'한다. 

각 함수와 클래스 모듈은 주변 상황에 현혹되거나 오염되지 않은 채 한길만 걷는다.

 

20p.

이 책을 읽는다고 뛰어난 프로그래머가 된다는 보장은 없다. '코드 감각'을 확실히 얻는다는 보장도 없다. 단지 뛰어난 프로그래머가 생각하는 방식과 그들이 사용하는 기술과 기교와 도구를 소개할 뿐이다.

-> 아직 다 읽지는 않았지만 이 책의 핵심 중 하나 아닐까 생각한다. 책에서 아무리 좋은 정보를 주더라도 다 읽고 난 뒤에 적용하지 않으면 얻는 건 하나도 없다 그냥 '좋은 책 하나 읽었구나'하고 뿌듯할 뿐이다. 책을 덮자마자 또 아무 생각 없이 코딩한다면 그냥 책 읽은 것도 시간낭비가 될 수 있다!


< 소감 >

티 한점 있다고 그냥 보기에 멋진 도자기를 깨버리는 장인처럼 프로그래머들의 클린 코드에 대한 열망도 비슷하게 느껴진다.

 

 

* 모르는 용어

르블랑의 법칙(leblanc's law) : Later equals never / 

나중에 = 절대 하지 않음은 같다.


 https://www.youtube.com/watch?v=7EmboKQH8lM 

유투브에 Clean Code 저자 강연도 있었다. 지루할 줄 알았는데 꽤나 재밌게 설명해서 ​시간날때 한번 봐야겠다.

 

728x90
반응형
Comments