메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

실무에서 경험할 수 있는 문제를 미리 대비할 수 있는 지침서

jrcfore***

|

2024-08-25

실무로 통하는 클린 코드

당신의 코드를 변화시킬 클린 코드 혁명. 개발자 성장을 위한 최적의 코드 작성법

  • 저자 : 막시밀리아노 콘티에리
  • 번역 : 이태영
  • 출간 : 2024-08-05

'좋은 코드는 단순히 빨리 돌아가기만 해서는 안 된다사람이 읽히는 그런 코드여야 한다.'

협업을 하며 가장 고민되어야 하는 포인트는 바로 같이 일하는 동료들이 나의 코드를 보았을 때쉽게 이해가 가능하며 내가 수정한 사항이 다른 컴포넌트들과 맞물려 동작할 때 커플링이 없는지이다.

 

알고리즘 문제를 오랫동안 풀어왔고효율의 관점을 항상 1순위로 생각했던 필자의 경우에는 코드는 단순히 바이너리 (기계어)로 변환되어 cpu에 의해서 해석되는 하나의 명령어일 뿐 그 이상도 그 이하도 아니었다.

 

아마도 그동안 이런 부분을 최우선으로 바라보는 분들과 협업을 한 경험이 많지 않았기에 그럴 수도 있겠다는 생각이 든다. (어찌 된 게 이 필드에서 나름 20년 가까이 일하면서이런 문화를 가진 팀을 많이 만나본 적이 없었다그만큼 클린 코드에 관한 문화가 옛날에는 전반적으로 형성되지 않았음을 의미하는 것일 수 있다.)

 

프로그래밍의 전제는 돌아가는 무엇인가를 만드는 것도 있지만 앞서 언급한 것과 마찬가지로 만들어진 코드의 유지 보수가 용이한지흐름은 잘 이해되고 파악되는지를 아는 것에 있다고도 할 수 있다.

 

이번에 리뷰한 책은 앞서 언급했던 부분에 대해서 각각의 사례를 들어 평소 필자가 궁금해했던 부분을 시원하게 긁어주었으며 이론 외적으로도 알아두면 좋을 법한 팁들을 많이 수록하고 있었다.

 

【책의 구성】 "실무로 통하는 클린 코드"의 구성은?

 

위 책은 총 25개의 챕터로 이루어져 있으며 큰 주제를 바탕으로 소주제로 소분되어 대단원을 형성하고 있다무엇보다 이 책이 갖는 장점은 원하는 내용을 찾아 해당 단락만 읽어도 실사례와 이에 대해서 어떻게 대처해야 할지 각각을 분리하여 잘 정리해두었다는 점이다.

 

따라서 이 책은 한번은 쭉 정독을 해보고 이후에는 본인이 평소 궁금하였던 부분을 중심으로 회독을 해보길 권장한다.

 


 

5.1 : var const로 변경하기

초보 개발자의 가장 큰 실수는 하나의 변수를 선언하고 그 변수를 모든 flow에서 수시로 변조해가며 재활용한다는 부분에 있다.

 

하나의 변수는 특정 scope에서 특정 역할에 충실해야 되며 이미 선언된 경우에는 될 수 있으면 가변조가 발생하지 않고 그 값을 기능 수행이 완료되는 시점까지 유지하는 것이 다른 프로그래머와 기능의 흐름을 이해하는 부분에서 이점이 크다.

따라서 변수의 R&R이 결정되었다면 그 이상의 용도로는 절대로 사용하지 않도록 하자

 


 

10.1 : 반복되는 코드 제거하기

 

모든 함수기능은 코드로 구성되어 있다하지만 간혹 유사하거나 같은 기능을 하는 함수들이 이곳저곳 산재해있는 경우가 다분하다이런 경우, R&R을 기반으로 같은 코드는 하나의 클래스 메서드나 혹은 유틸리티 클래스로 뽑아 사용하는 것이 좋다.

 

그렇게 해야 추후 수정이 발생했을 때중복된 같은 코드의 로직을 수정하는 과정에서 누락이 빠지지 않을 수 있으며변경 포인트를 한곳으로 합침으로써 코드의 가독력을 향상시키는 데에 효율을 높일 수 있다.

 


 

16.2 : 섣부른 최적화 제거하기

 

'일어나지 않을지도 모르는 일에 대해서 추측하지 말라사람은 불안에 취약한 동물이다언제 일어날지 모르는 일을 대비하기 위해서 말도 안 되는 곳에 말도 안 되는 예산을 낭비하는 경향이 있다.

 

코드도 결이 같다경험적논리적 판단에 근거하지 않은 막연한 두려움에 없어도 될 코드들을 덕지덕지 붙이거나 이에 대해서 미리 최적화하여 가독력을 크게 떨어트리거나 혹은 코드의 흐름을 해친다.

 

좋은 코드는 지금에 집중하고 또한 경험을 바탕으로 실리적인 부분에 대해서만 최적화를 진행한 코드임을 명심하자.

 

 

【 실무로 통하는 클린 코드를 읽고 나서 】

 

'백문이 불여 일타라'

 

컴퓨터 업계에서 웃으게로 하는 말이다.

 

필자의 경우에도 수많은 소프트웨어 개발론과 클린 코드 개발론 책들을 읽으며 이론에 관해서는 어느 개발자 못지않은 전문성을 갖추고 있다.

 

하지만 책에서 읽었던 경험을 실무에서 녹여내는 것은 책을 읽으며 단순히 학습하는 것과 그 결이 사뭇 다르다.

 

많이 만들어보고 많이 실패해 보고 회고해 봐야 느는 영역인 것이다.

 

단연컴퓨터 학문뿐만 아니라 모든 학문이 이러한 것 같다.

 

#본 도서는 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?