thdud2***
2024-08-25

당신의 코드를 변화시킬 클린 코드 혁명. 개발자 성장을 위한 최적의 코드 작성법
프로젝트를 진행하면서 구현에 급급했던 모습에서 한 단계 발전해서 ‘어떻게 하면 코드를 더 잘 쓸 수 있을까?’ 를 고민하는 나를 발견했다. 현업에서는 어떻게 코드를 작성하고 리팩토링하는지 알고 싶었다.
‘내가 지금 작성하고 있는 코드가 맞는 코드인가? 어떻게 하면 더 잘 쓸 수 있을까’ 코딩을 하면서 내가 작성한 코드에 대해 피드백을 받고 더 발전하고 싶은 욕심이 생겼다. GPT의 도움과 나의 검색 그리고 머리굴리기로 코드를 작성하고 있지만 늘 2%가 부족함을 느끼고 있었다.
그런 고민과 함께, 마침 서평을 쓸 기회를 얻게 되었는데, 내가 고민 하고 있는 두 단어가 떡하니 들어간 책이 눈에 들어왔다. 그것은 ‘실무’와 ‘클린코드’였다.
책의 첫 머리에는 내가 하고 있는 고민이 적혀 있는 것 같았다.
어떤 내용이 담겨 있을지 목차를 먼저 훑어봤다. 목차만 읽었음에도 꽤 흥미로운 주제들이 많았다. 평소에 궁금했던 내용들이 들어있었고, 책은 그에 대한 답을 어떻게 설명해 줄 지 기대되었다.
어떤 문제 상황을 설명할 때 하나의 언어로만 이야기 하지 않는다. JavaScript( or TS ), Ruby, Java, PHP 등 다양한 언어로 코드를 설명하기 때문에 JavaScript만 공부했던 나는 약간의 혼란이 오기도 했다. 하지만 클린코드는 특정 프로그래밍 언어에만 제한되는 것이 아니기 때문에 일부러 다양한 언어로 설명한다고 이야기하는 저자를 보며, ‘음 그렇지 클린코드는 프로그래머의 숙명이지’ 하며 내가 쓰는 언어에 적용해가며 이해하려고 했다.
각 장에서는 코드를 작성하며 일어날 수 있는 여러 상황들을 <문제><해결><설명>의 순으로 설명하는데 책에서는 이것을 레시피라고 칭햔다. 저자는 '책의 레시피를 최대한 활용하려면, 내가 사용하는 프로그래밍 언어와 디자인 솔루션으로 변환해 적용해보기를 추천한다. 레시피를 통해 문 제를 이해하고 원하는 결과를 파악하고 코드를 개선하는 방법을 배워봐라' 라고 이야기 한다.
나 또한 책의 스타일에 적응해가고 보니 내 코드로 변형해서 생각할 수 있는 활용력?이 생겼다. 책을 읽으면 읽을수록 내가 작성하고 있는 코드가 떠오르면서 ‘이렇게 고쳐볼 수 있겠다’는 아이디어가 떠올라서 굉장히 재미있게 읽고 있는 중이다.
실제로 책을 통해 아이디어가 떠올라 현재 진행하고 있는 프로젝트에 적용해보고 싶은 욕구가 뿜뿜했다. ‘당장 코드로!!!’ 이런 상황이 되는 것은 아니기 때문에 이렇게 아이디어가 떠오른 것을 어떻게 정리할 수 있을까 고민을 하던 중에 목차를 활용해야 겠다는 생각을 했다.
각 장의 내용에서 내가 이해한 내용을 나만의 언어로 바꿔서 정리해봤다. ( 진 행 중 ) 이렇게 정리하고 보니 클린코드에 대한 개념이 훨씬 쉽게 다가왔다. 그래서 내 코드에도 적용해 볼 수 있을 것 같다는 자신감이 뿜뿜 커졌다.
또 다른 방법은 목차에 내용 요약해 놓는 것이다. 이 책은 번역본이기 때문에, 목차만 봤을 때 어떤 내용인지 감이 안 오는 경우가 종종 있다. 그리고 목차에 모든 내용을 담을 수 없기에 내가 꼭 적용해보고 싶은 부분이 어디인지 기억이 안나는 경우가 있을 수 있기에 해당 레시피를 간단하게 정리해서 목차에 써 놓고 있다. ( 진 행 중 )
이렇게 정리해서 옆에 요약본처럼 두고 싶을 정도로 알찐한 내용이 들어있었던 책이다. 현재 진행형으로 읽고 있는 책이라 앞으로 적용해 볼 수 있는 레시피들이 더욱 궁긍해진다.
첫 진입시 약간의 마음의 준비가 필요하지만 ㅋㅋㅋㅋㅋ ‘한번은 읽어보자’ 하고 마법을 걸고 시작만 한다면 분명 내 코드에도 변화가 있을 거라 생각한다.
"한빛미디어 <나는리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."