읽기 좋은 코드가 좋은 코드다(더스팀 보즈웰, 트레버 파우커 지음, 임백준 옮김) 를 읽고 자주 참고하면서 습관화하려는 부분을 정리해 놓은 것으로 좀 더 자세한 내용은 책을 보기 바랍니다. |
■ 이름에 정보를 담아라
- 특정한 단어 고르기
- 무의미한 단어를 피하고 구체적인 단어 선택로 명확하고 간결한 이름이 좋다.
- 예) GetPage() -> FetchPage(), DownloadPage()
- 보편적인 이름 피하기
- retval라는 이름보다 변수값을 설명하는 이름을 사용한다.
- tmp는 짧게 임시적으로만 존재하고, 임시적 존제 자체가 변수의 가장 중요한 용도일때에 한해서 사용한다.
- 루프반복자로 i, j 보다는 구체적으로 members_i, users_i 혹은 간결하게 mi, ui로 사용한다.
- tmp, it, retval 같은 보편적인 이름을 사용하려면, 꼭 그렇게 해야 하는 이유가 있어야 한다.
- 추상적인 이름 대신 구체적인 이름 사용하기
- 접두사 혹은 접미사로 이름에 추가적인 정보 덧붙이기
- 예) string id; // Example: "af84ef845cd8" -> string hex_id;
- 단위값을 포함하는 값. size_mb, max_kbps
- 헝가리언 표기법 : pLast와 같이 추가적인 속성을 이름 앞에 붙여 넣는 것.
- 잉글리쉬 표기법 : 변수가 가지는 중요한 속성을 포착한 다음, 그 속성에 중요한 의미가 있으면 변수명에 포함.
- 이름이 얼마나 길어져도 좋은지 결정하기
- 좁은 범위에서 잠깐 사용되는 변수명은 짧을수록 더 좋다.
- 단어 완성 기능 이용하기 (이클립스 Alt + / , Vim Ctrl + P)
- 추가적인 정보를 담을 수 있게 이름 구성하기
- 밑줄와 대시 그리고 대문자를 잘 이용하라.
- 예) 클래스변수를 로컬변수와 구분하기 위해 '_'를 붙일 수 있다.
- 예) html태그에 id는 밑줄로 단어를 구분하고 class는 대시로 구분한다.
- <div id="middle_colum" class="main-content">
■ 오해하지 않도록 정하기
- 어떤 값의 상한과 하한을 정할 땐 max_와 min_을 이름 앞에 붙이면 좋은 접두사 역할을 한다.
- x < max_val
- 경계를 포함한다면 first와 last가 좋은 이름이다.
- x <= last_val
- 경계의 시작만 포함하고 마지막은 배제하는 범위라면, begin과 end가 가장 널리 사용되는 이름이므로 최선이다.
- begin <= x <end
- 불리언값 이름을 정할 때는 불리언이라는 사실을 명확이 드러내기 위해서 is나 has와 같은 단어를 사용한다.
- 사람들이 특정한 단어를 일반적으로 생각하는 사실에 유의할 필요도 있다.
- get() 혹은 size()와 같은 함수가 가벼운 메소드라고 기대할지도 모른다.
- 최근에 C++ 표준 라이브러리에서 "size()는 O(1)이어야 한다."는 규칙을 정했다.
'대학 생활 > Develop' 카테고리의 다른 글
출발지, 목적지 포트확인 - 엑셀 IF, AND, OR 수식 적용하기 (0) | 2014.02.25 |
---|---|
네이버 지도 위도,경도 구하기(엑셀 수식 이용하기) (2) | 2014.02.22 |
argument, parameter (파라미터, 인수)차이점 (2) | 2013.09.18 |
[develop] 각종 open API (0) | 2013.08.23 |