[클린 코드]

이멀젼씨

·

2021. 4. 25. 22:59

목적

코드의 유지보수성과 가독성을 높여 생산성 증대에 도움을 주기 위함

목차

  1. 독서 계기
  2. 내용 정리
  3. 후기

1. 독서 계기

내 코드를 개선하고 싶어서 읽게 되었다.


나는 종종 일상생활에 필요한 아이디어를 떠올린다. 그리고 이를 프로그램으로 만들길 좋아한다.


하지만 그렇게 프로젝트를 진행하고 나면 기존에 진행했던 프로젝트들을 거들떠보지도 않았다. 사실 코드를 보면 다시 개발하고 싶은 마음이 뚝 떨어졌다.


왜냐? 코드를 읽기 너무 어려웠었다.


내게 필요한 기능만 되면 됬기 때문에 깨끗한 코드를 우선시 하기 보다는 기능을 우선으로 개발을 해왔었다.


나중에서야 해당 프로젝트를 고쳐보자니 코드가 엉망진창이라 유지보수할 마음도 안났을뿐더러,


일주일만 지난 코드도 이 메소드가 무슨 기능을 했었는지 찾아보는데 5분 이상은 걸린 것 같다.


이게 초반에는 잘 몰랐지만 점점 기술이 늘고, 프로젝트의 규모가 커짐에 따라 유지보수성과 가독성을 위해 깨끗한 코드가 필요하다고 생각했다.


2. 내용정리

어떻게 보면 정말 간단한 내용들이지만, 실천하지 못했던 내용들이다.


그 중에 내가 보고 인상깊었던 것 몇가지만 소개하겠다.


1. 코드를 나중에 손본다고 생각안하는 것이 좋다. 즉시 해결하라.


2. 중복을 피하라.


3. 이름이 길어도 좋으니 한번에 알아볼 수 있는 이름을 지어라.


4. 함수는 한가지만 수행해야한다.


5. 함수의 파라미터는 없거나 적은 것이 좋다. 많은 경우 전달객체를 사용하라.


6. 주석은 최대한 줄이고, 코드로 의도를 표현하라.


7. 비슷한 개념끼리는 붙여두자.


8. 어느 함수가 다른 함수에 의존하는 경우 두 함수는 세로로 가까이 배치하라.


9. 자료구조는 노출하고, 객체는 내부 구조를 숨겨야한다.


10. 오류보단 예외를 사용하라.


11. null을 반환하거나 전달하지 마라.


12. TDD를 통해 유지보수성을 높여라.


13. 클래스는 작아야하며, 책임을 하나로 하여 쉽게 확장할 수 있는 구조로 만들어야한다.


14. DI, AOP와 같은 특징을 활용하자.


3. 후기

책을 읽으면서 머릿속에 내가 작성했던 코드들이 주마등처럼 스쳐 지나갔다.


특히 위에 언급한 내용들을 읽으며 내 코드의 어디가 잘못되었는지 파악이 되었다.


다른 누군가가 내 코드를 보거나, 아주 먼 미래의 내가 코드를 봐도 알 수 있도록 고쳐야 겠다는 생각이 들었다.


곧바로 코드 정리 계획을 세웠고, 시간이 날 때마다 조금씩 개선할 예정이다.


새로운 지식을 얻고 도입하는건 언제나 설레는 일이다.


더 즐거운 개발을 할 수 있도록 차차 손봐야겠다.


'독서' 카테고리의 다른 글

[웹 개발자를 위한 대규모 서비스를 지탱하는 기술]  (0) 2021.05.23