[개발자의 글쓰기] 네이밍 컨벤션과 주석

@eunjios·2023년 11월 4일
0
post-thumbnail

영어 단어 선택

정확히 반대 단어를 사용하자

  • show ↔️ hide
  • visible ↔️ invisible
  • header ↔️ footer
  • under ↔️ over
  • or under ↔️ and over
  • before ↔️ after
  • open ↔️ close
  • input ↔️ output
  • stop ↔️ start, restart
  • end ↔️ begin

비슷한 의미지만 개발에서 사용하는 의도는 다른 단어

1. 중단

단어
stop잠시 중단, 재시작 가능
end완전히 중단, 재시작 불가
finish재시작 고려할 필요 없이 완전히 끝
pause아주 잠시 중단, 곧 시작
suspend다음 단계의 시작을 중단
hold어떤 의도를 가지고 중단

2. 값을 가져올 때

단어
get값을 받아서 가져옴
retrieve'검색' 해서 값을 가져옴
acquire다른 함수가 가져가지 못하게 값을 '독점'
fetch포인터가 다음으로 이동한 것을 가져옴

3. 값 등록

단어
set값을 변경하거나 설정
init초기화 설정
register정해진 틀에 값을 집어넣음
create정해진 틀이 없음, 틀 (객체) 생성

4. 값 수정

단어
change내용을 단순히 변경
modify잘못된 것을 바로잡음
revise기존에 없던 정보를 추가하여 변경

변수/함수 이름

의미와 의도를 가진 이름을 사용하자

좋은 예시

let someday;
let today;
let thisMonth;
let finalYear;
let daysSinceCreated;
let monthsSinceUpdated;
let yearsSinceRegistered;

안 좋은 예시

let d;
let m;
let y;

약어를 써도 될까?

회사나 업계에서 많이 사용하는 약어라면 코드에서 사용해도 좋다. (ex. HTML, UI, UX, temp, doc, param, arg, ... )


중요한 단어는 앞에 쓰기

좋은 예시

let visitorTotal;
let buyerTotal;
let salesOfThisMonthTotal;
let windowSizeMax;
let vipCount;

안 좋은 예시

let totalVisitor;
let totalBuyer;
let totalSalesOfThisMonth;
let maxSizeOfWindow;
let numberOfTotalVIP;

검색할 때 total 로 검색하는 것보다 visitor 로 검색하는 경우가 많기 때문에 중요 단어를 앞에 위치하는 게 좋다고 한다. (개인적으로 안 좋은 예시가 더 익숙하다 ?)


함수 이름 짓는 순서

  1. 함수의 기능 정의하기
    ex) 사용자 이름을 input 태그에서 가져오기

  2. 영어로 바꾸기
    ex) get user's name from the text input field

  3. 정관사, 불필요한 단어, 소유격 등 정리하기
    ex) get user name from input field

  1. 의미상 없어도 되는 단어 없애고 카멜케이스로 나타내기
    ex) getUserNameFromField

SMART 한 이름 짓기

easy to Search

  • 상위 범주의 접두어를 고려하기
  • ex) ERROR_SERVER_TIMEOUT

easy to Mix

  • 개발 언어의 문법과 조합할 수 있도록 하기
  • ex) h1.title

easy to Agree

  • 상황적으로 납득가는 이름 짓기 (코드의 유효범위 등 고려)

easy to Remember

  • 시청각적으로 이름 짓기
  • 잘 알려진 용어는 그대로 쓰기

easy to Type

  • 오타를 잘 내는 단어 지양하기

주석

코드는 의미를, 주석은 의도를

주석 줄이기

  1. 네이밍 잘 하기
  2. 언어의 문법은 설명 X (정말 필요하다면 코드 시작 전에 알려주기)

+ 정확성이 필요하다면 주석 사용

checkUserNameUnder3Characters(); // 3글자 이하인지 체크

네이밍은 잘 했으나 뜻을 확실히 해야 하는 경우 (미만, 이하) 주석을 사용하는 것이 좋다.


주석으로 의도 나타내기

  1. 이유
    // 모바일 테스트시 품질 차이가 없었고 로딩 속도는 2배 향상시킴
  2. 개발자가 새롭게 발견한 것
    // 기존 방식보다 결과를 2배 이상 바르게 보여줌
  3. 예상 질문과 답
    // 마지막 대화 ID 기록 이유: LastTalkId 변수 검색하여 확인
  4. 할 일이나 주의할 점, 개선할 점
    // TODO: 동영상이 아닌 동영상 확장자를 확인하는 기능 추가
    // XXX: null 입력 시 무한 루프 가능성
    // HACK: 이 스크립트는 받는 페이지에서 처리하는 것이 나음
  5. 보완 요청
    // 전역변수 이슈: 고쳐서 깃허브 업로드 부탁
  6. 개발자의 속마음
    // 이 코드는 마음에 들지 않음

주석 반복과 요약

  • 문서를 처음부터 읽거나 문서 길이가 짧은 경우, 주석 반복 X
  • 가이드 문서처럼 특정 함수를 검색해서 보는 경우, 주석 반복 O
  • 조건을 그대로 설명하는 것보다 상위 개념을 사용하는 것이 좋음. 가능하다면 조건 계산을 별도의 함수로 빼서 주석을 없애는 것이 베스트



참고 도서

개발자의 글쓰기 - 김철수 지음, 위키북스

profile
growth

0개의 댓글