그냥 돌아가기만 하는 코드가 아닌 멋쟁이 코드를 만들고 싶다면 읽어보면 좋은 책.
씨엔티테크의 SI업무 특성상 일이 들어오면 정해진 일정안에 맡겨진 서비스를 완성 해내야 한다.
이 과정에서 개발계획없이 개발에 들어가거나, 무작정 코드를 붙여나가거나 하게 되는데 이 과정에서 유지보수에 큰 악영향을 주게되는 것을 보았다.
개발에 발을 담고있는 회사들 중 규모가 크거나 인프라가 체계적인 곳은 '코딩 컨벤션' 이라는 것을 맞춰 놓는다고 들었다.
입사 전에 개발자를 꿈꾸며 NHN의 웹 프론트엔드 코딩컨벤션, O2O 서비스를 개발하는 스타트업 스포카의 파이썬 코딩컨벤션 등
크고 작은 규모를 가진 업체들의 코딩컨벤션을 보고 "실제 업계에서는 이런식으로 코딩을 하는구나" 라며 놀라곤 했다.
사실 개발자들은 모두 제각각의 코딩 스타일을 가지고 있기 때문에 나는 코딩컨벤션이 협업시에 있으면 정말 좋은 문서라고 생각하지만
아쉽게도 그런게 없었다. 그렇기 때문에 나부터라도 보기 쉽고 처음 접한 사람도 바로 해석이 가능한 '쉬운코드' 를 만들고자, 직접 눈으로 확인한 사항이고 개발 중 몸소 느끼고 있는 바, 이것이 로버트 C.마틴 의 클린코드를 구입신청한 이유였다.
이 책의 내용이 꼭 정석은 아니지만 참고하여 나의 코딩스타일에 기틀을 잡게 해주었다.
내가 책을 보며 정리한 생각은 ['클린한' 코드를 작성하기 위해서는 크게 '네이밍, 공백, 줄바꿈, 주석, 클래스' 이 다섯가지를 신경쓰면 충분히 가능할 것] 이다.
우선 네이밍은 이 변수 혹은 함수의 역할이 분명하게 나타나 있어야 한다.
당연하지만 막상 받은 소스를 까보면 도대체 이게 무엇을 뜻하는 변수인지, 또는 DB 컬럼인지 도저히 알 수 없을 때가 있었다.
자신만의 줄임말은 사용하느니만도 못하며, 이름이 길어진다고 막무가내로 줄이면 오히려 이해하기 더 힘들어진다.
공백.
공백은 코드 뿐만이 아니라 보통의 글에서도 중요하다고 배웠다.
글을 읽음에 있어 공백이 없이 빽빽하게 작성된 글은 보기도 싫을것이고 읽더라도 불편하게 읽힐 것이며 난독증까지 유발 할 것이다.
그리고 줄바꿈.
이 또한 코드 뿐만이 아니라 보통의 글에서도 중요하다.
글의 주제 혹은 사건이 발생한 시간, 어쩌면 프로세스에 따라 줄바꿈을 해주면
순차적으로 코드를 읽는데에 도움이 될 것이며 내가 주제별로 클린한 코드를 작성하는 법을 키워드별로 나눈 것 처럼 한 눈에 글을 파악할 수 있을 것이다.
뭐 주석은 다들 얘기가 많다.
코드를 더럽게 만들고 그 더러움을 설명할 주석을 달 시간에 코드를 깔끔하게 만들어라. 라던지.
맞는말이다. 주석은 '필요한 곳'에만 달아야 한다.
그리고 클래스.
한 클래스는 한가지의 작업만을 수행해야 한다.
책의 저자는 클래스에 대해 상당히 많은 내용을 서술해놓았으나 결국에 결론은 위와 같았다.
뭐 결론은 이렇다.
영원히 나만 볼 코드면 어떻게 짜든 상관이 없겠지만
나의 팀원, 또는 이후의 다른사람이 볼 코드이기 때문에 '클린하게' 만들으라는 것이다.
'self-development > study' 카테고리의 다른 글
한양대학교, 숭실대학교, 건국대학교 재직자전형 입학원서 접수 정보 (1) | 2017.08.08 |
---|---|
객체지향 자바스크립트의 원리 감상문 (0) | 2015.10.29 |
나는 왜 감정에 서툴까? : 감상문 (0) | 2015.08.29 |