Clean Code - 4. 주석, 5. 형식 맞추기

다용도리모콘·2021년 1월 19일
0

Clean Code

목록 보기
4/14

4. 주석

코드로 의도를 표현하라

모든 코드에 적용할 수 있다면 좋겠지만 그렇지 못한 경우가 몇가지 존재함.

  • 저작권, 소유권에 관한 정보
    -> 요즘은 별도의 파일로 넣는 경우가 많은 것 같다.
  • 코드로 표현하기 어려운 부분에 대한 보충 설명
  • 조심해야 하는 부분에 대한 경고
  • TODO
  • 중요성을 강조
  • 공개 API에 대한 document

나쁜 주석

  • 주절거리는 주석
  • 코드 내용을 그대로 설명하는 주석
  • 오해의 여지가 있는 주석
  • 의무적으로 다는 주석
  • 이력을 기록하는 주석
  • 위치를 표시하는 주석
  • 닫는 괄호에 다는 주석
  • 저자를 표시하는 주석
  • 주석으로 처리된 코드
  • 전역 정보
  • 함수 헤더

-> 의무적으로 다는 주석, 이력을 기록하는 주석, 위치를 표시하는 주석, 저자를 표시하는 주석은 예전에 Java로 Android 개발을 할 때 자주 썼던 방식인데 조금 충격이었다.
물론 곰곰히 생각해보면 의무적으로 다는 주석은 함수가 깔끔하다면 불필요하고, 이력, 위치, 저자를 표시하는 건 당시 버전관리 툴을 제대로 사용할 줄 몰랐던게 큰 것 같다.
svn을 사용하고 있었는데 코드 수정이 발생하면 주석으로 누가 어떤 이유로 코드를 수정했는지를 기록 했었다. 커밋 메시지만 봐도 알 수 있는데 도대체 왜 그랬던 걸까....
다행히 지금은 TODO와 코드로 설명하기 어려운 부분에 대한 설명 주석 이외에는 주석을 달지 않고 있으니 성장하긴 했나 보다.

5. 형식 맞추기

세로

코드의 위에서 아래로 읽을 때 자연스럽게 읽히는게 중요!

  • 개념은 빈 행으로 분리(선언부, 함수의 사이사이)
  • 변수는 사용하는 위치 가까이
  • 인스턴스 변수는 클래스 맨 처음
  • 종속 함수는 호출 하는 함수 아래
  • 개념적으로 유사한 함수들은 서로 가까이

가로

밀접한 개념끼리 붙이고 느슨한 개념은 분리

팀 규칙을 지키자

->최근에는 prettier, lint 등이 워낙 잘 되어 있어서 생각해 볼 일이 거의 없는 주제인데 prettier, lint의 규칙들이 어떤 이유로 탄생했을지를 생각해 보게 되었다.
다만 종속적인 함수들의 배치는 약간 애매한게 종속되는 함수를 바로 아래에 배치하면 위에서 아래로 읽을 때 scope의 범위가 들쭉 날쭉할 수 있을 것 같다는 생각이 들었다. 물론 scope 범위 대로 배치하게 되면 종속되어 있는 함수를 확인하고 싶을 때 스크롤을 계속 내려야 하니까 그것도 불편함이 있다. 어떤게 좋은 방법일까?

0개의 댓글