돌아가는 코드가 가장 좋은 코드라고 생각하던 시절이 있었다. 지금도 많이 부족한 햇병아리 개발자이지만, 더 좋은 개발자이자 동료가 되기 위해 하루라도 빨리 클린 코드를 작성하는 좋은 습관을 기르고자 공부를 시작했다. 이 글이 나와 같은 사람들에게 도움이 되길 바란다...!
하나, 나쁜 코드는 나와 팀의 생산성을 떨어트리기 때문이다!
나쁜 코드를 읽고 해석하는데 걸리는 시간과 노력, 추후 유지보수 할 때 나쁜 코드를 고치려고 애쓰는 시간과 노력은 결코 적지 않다. 또한 나쁜 코드를 고치기 위해 더 나쁜 코드를 쓰게 되는 경우가 많은데, 시간이 지날수록 그 프로젝트에는 계속 나쁜 코드가 쌓이게 된다.
둘, "나중에 리펙토링해야지..." 에서 나중은 오지 않기 때문이다!
프로젝트 초반에 빠르게 개발하기 위해 대충 코드를 짜고 나중에 리팩토링하겠다고 다짐하지만, 그 나중은 오지 않는다. 모든 코드를 갈아엎겠다는 원대한 프로젝트를 시작하더라도, 그 프로젝트가 현재 돌아가는 프로젝트를 완벽하게 따라 잡는데 걸리는 시간과 노력은 굉장히 크다.
👉 나와 우리 팀의 생산성을 높이고, 미래의 나와 팀을 위해 우리는 클린 코드를 고민하고 지향해야 한다!
그렇다면 클린 코드란 무엇일까? 클린 코드
책에서는 유명한 프로그래머들의 의견을 소개하고 있는데, 그 중 하나는 아래와 같다.
- 그래디 부치(Grady Booch)
"클린 코드는 단순하고 직접적이다. 클린 코드는 잘 쓴 문장처럼 읽힌다. 클린 코드는 설계자의 의도를 숨기지 않는다. 오히려 명쾌한 추상화와 단순한 제어문으로 가득하다."
이외에도 클린 코드란...
라고 여러 프로그래머들이 소개한다. 이렇게 다양한 정의들을 읽고 내가 생각하는 클린 코드에 대해서도 정의해보면 아래와 같다.
"클린 코드란 단순하고 작은 단위로 작성되어 한 번에 잘 읽히는 코드이다."
개인적으로 클린 코드의 핵심은 '잘 읽히는 코드'라고 생각한다. 클린 코드를 지향하는 가장 중요한 이유는 나의 의도를 잘 설명하고, 다른 사람들과 원활하게 소통하기 위해서라고 생각하기 때문이다. 정답은 없으니 이 글을 읽고 있다면 나만의 클린 코드에 대해 정의를 내려보면 좋겠다.
마지막으로, 클린 코드는 아는 것이 아니라 실천하는 것이다. 실천되지 않는 마음은 아무런 힘이 없다. 그렇다면 어떻게 클린 코드를 작성할 수 있을까?
오늘 클린 코드에 대한 WHY 와 WHAT 을 살펴보았다면, 이어지는 시리즈에서는 HOW 즉, "클린 코드를 작성하는 방법"에 대해 다뤄보려고 한다. 함께 고민하고 실천해보자!
내가 정말 좋아하는 명언 중 하나를 소개하며 클린코드 JS
의 첫 게시글을 마친다.
Great things are not done by impulse, but a series of small things brought together.
위대한 업적은 단 번에 이루어지는 것이 아니라, 일련의 작은 일들이 모여 만들어지는 것이다.
- van gogh
위대한 그 어떤 것도 작은 것들이 쌓여서 만들어진다는 것을 기억하자. 별 것 아닌 것 처럼 보이는 나쁜 코드들은 코드 습관들이 조금씩 쌓이면 마침내 멋진 코드들을 만들어낼 수 있을 것이다!
Clean Code(클린 코드)
/ 로버트 C. 마틴 / 2013.12.24.클린코드 자바스크립트
/ Poco Jang / 2023. 5.