스터디를 하면서 개발자에게 필요한 능력과 기술에 대해 고민하다가 여러 개발자 선배님들께서 추천하신 도서들을 읽기로 했다.
여러 도서들이 있었지만, 그 중 Clean Code(클린 코드)를 읽기로 했다.
팀 프로젝트를 할 때나 혼자서 무언가를 만들다보면 코드량이 많아지는데,
많아질수록 어디에 있는지 무슨 코드인지를 빠르게 파악하지 못하는 점이 있는 것 같았다.
나 혼자서 만든 프로젝트나 이런 간단한 팀프로젝트조차도 다른 개발자가 어떠한 의도로 작성했는지 빠르게 파악하지 못한다면
"현업에서도 내가 잘 할 수 있을까??" 라는 생각이 들었다.
그러다보니 어떤 코드인지 설명하려고 주석도 많이 적으니 코드가 깔끔해지지 못하는 점이 보였다.
그래서 "좋은 코드란 무엇인가? 어떻게 작성해야할까?"를 고민하다가 이 책을 선택하게 되었다.
좋은 코드란 내가 글을 쓰고 말을 하듯이 빠르게 습득할 수 있는게 아니라고 생각된다.
내가 살아온 문화, 환경, 습관이 녹아져서 말을 하듯이 코드도 똑같다고 생각된다.
어릴때 습관을 고친다면 빠르게 고쳐지지만, 몇년동안 똑같은 행동으로 습관이 되어버린 것은 빠르게 고칠수가 없다. (e.g. 치아교정)
이러한 경험을 통해 지금 "좋은코드란 무엇인가?" 를 고민해보고 책을 통해 배운다면 더 나은 개발자가 될 수 있을거라 믿는다.
🧐 본격적으로 들어가기전에 추천사를 읽어보자.
Ærlighed i små ting er ikke nogen lille ting.
덴마크 속담으로 "사소한 곳에서 발휘하는 정직은 사소하지 않다" 라는 뜻이다.
즉, 사소한 것은 중요하다 라는 의미이고, 이 책은 사소하지만 사소하지 않은 내용을 다룬다.
예를 들면, 바닥이 깨끗해도 천장에 거미줄이 조금 있다면 깨끗해보이지 않는다.
이렇듯 코드를 작성할 때 변수명, 함수명, 주석 등 우리가 사소해보여서 마음대로 작성했던것들 끝에는 결국 중요하기에 차이가 난다는 뜻이다.
소프트웨어는 80% 이상 "유지보수" 이다.
지금 시작한 스타트업이라도 시간이 갈수록 유지보수의 비중이 커지는만큼 좋은 소프트웨어를 만드는데 고민도 해보며,
만들어진 소프트웨어를 더 나은 코드로 유지보수할 수 있도록 고민도 해야한다.
읽기 좋은 코드는 돌아가는 코드만큼이나 중요하다.
협업을 하게되면 다른 개발자가 작성한 코드를 보게 되는데 위 말이 마음에 와닿았다.
빠르게 개발하기 위해 무작정 작성하는것이 아닌, 내 코드를 처음보는 개발자가 단숨에 알아보듯이 작성하는것이 정말 중요하다.
지금 껏 아무런 규칙없이 개발에만 몰두했다면 이제는 내가 중심이 아닌 남이 중심이 되어 코드를 작성해야겠다.
Clean Code / 로버트 C.마틴 지음 / 박재호, 이해영 옮김 / 인사이트
'도서' 카테고리의 다른 글
[Clean Code] 3장 함수 (0) | 2023.04.27 |
---|---|
[토비의 스프링] 1장 오브젝트와 의존관계 (0) | 2022.09.25 |
[Clean Code] 2장 의미 있는 이름 (0) | 2022.02.13 |
[Clean Code] 1장 깨끗한 코드 (0) | 2022.02.13 |