개발 공부/Clean Code

1. [Clean Code] 깨끗한 코드

(저의 개인적인 의견과 감상 그리고 약간의 책의 내용?을 마음대로 적어논 글입니다. 가볍게 보시길 소망합니다.ㅠㅠ)

 

첫번째 주제인 깨끗한 코드는 깨끗한 코드에 대한 책임과 많은 전문가들의 정의를 설명하며 자연스럽게 책임감과 호기심을 불러 일으킨다.

 

깨끗한 코드에 대한 책임은 프로그래머의 책임이다.

바쁜 일정에 치여서 쓰레기 코드를 작성하고 다음에 정리해야지 한적이 많았는데 이책에서 이렇게 말한다. 나중은 결코 오지 않는다고...... 결코는 모르겠지만 자주 오지않는 것에 공감한다. 아마도 현재 코드를 잘짜라는 말이겠지 하며 이해했다.

 

"관리자와 마케팅은 약속과 공약을 내걸며 우리에게 정보를 구한다."

 

"우리에게 정보를 구하지 않더라도 우리가 적극적으로 정보를 제공해야 마땅하다."

 

"사용자는 요구사항을 내놓으며 우리에게 현실성을 자문한다."

 

"프로젝트 관리자는 일정을 잡으며 우리에게 도움을 청한다."

 

"좋은 코드가 순식간에 나쁜 코드로 전락하는것은 프로그래머의 잘못이다."

 

"좋은 코드를 사수하는 일은 프로그래머의 책임이다."

 

위 문장들을 보면서 일정을 강요하는 상사에 의해서 불가항력적으로 쓰레기 코드를 짠다는 변명이 변명에 지나지 않는다는 생각을 하게 되었다. 프로그래머는 프로젝트에 깊숙히 관여하고 개발을 위한 각종 정보와 현실성을 말하며 일정에 영향을 준다. 의사에게 환자가 자신의 질병을 3일 안에 해결하라고 한다면 의사가 뭐라고 할지는 뻔하다. 우리의 입장도 이 의사와 다르지 않은게 아닐까... 

 

그래서 좋은 코드가 뭘까

효율성, 한가지에 집중, 철저한 오류 처리, 가독성, 단위, 인수 테스트 케이스, 의미있는 이름, 특정 목적을 달성하는 유일한 방법, 의존성의 최소성과 명확한 정의, 누군가 고치려고하다가 제자리로 돌아와서 감사를 느끼는 코드, 객체가 여러 기능 -> 여러 객체, 메서드가 여러 기능 -> 메서드 추출, 추상화, 중복 줄이기, 짐작했던 기능을 각 루틴이 그대로 수행

 

위의 내용은 명망있는 프로그래머가 말한 깨끗한, 좋은 코드에 대한 정의 들이다. 사실 이부분에서 저자는 독자들이 의문을 가지고 추상적으로 이해하고 생각하게 하는 분위기 전환의 타이밍으로 만들게 아닐까 싶다. 이후 하나씩 설명해 나갈것이기에 

 

경고! 이책의 내용이 정답이 아니다.

열심히 설명하고 정답인 것 처럼 이야기하다가 자세한 설명으로 넘어가기 전에 갑자기 위와 같은 말을 한다. 이 무슨........

사실 당연한건데 말이다. 어쩌면 프로그래머에게 필요한건 좋은 코드를 작성하기 위한 고민과 열망이 아닐까 싶다.

'개발 공부 > Clean Code' 카테고리의 다른 글

코드 리뷰 조금 이해하기  (1) 2021.07.02
4.[Clean Code] 주석  (0) 2021.04.09
3. [Clean Code] 함수  (0) 2021.04.08
2. [Clean Code] 의미 있는 이름  (0) 2021.04.07
Clean Code 책 정리 시작  (0) 2021.04.06