“Number of foos” 를 표현하는 변수는 foo_count. num_foo 보다 오해의 소지가 적다. foo_cnt 는 단어의 중간 글자를 생략하지 말라는 Google style guide에 위배된다.
half-open interval 을 표현하는 변수 이름은 [beg, end) 로 통일한다. 다시 말해, 변수명이 beg, end로 되어 있다면 beg은 포함되고, end는 포함이 안된다는 의미이다.
다른 형태의 범위 표현은 일반적으로 closed interval 를 표현한다. [first, last], [front, back], [left, right]
list나 set의 이름은 끝에 s를 붙여서 복수형으로 써준다.
ABC를 XYZ로 매핑하는 맵(딕셔너리)의 이름은 abc_to_xyz대신 xyz_by_abc를 사용하자. 변환하는 함수명도 convert_abc_to_xyz 보다는 create_xyz_from_abc 이런식으로.
2차원 좌표계의 좌표를 표현할때
2d 그리드에서 셀의 좌표는 r,c로 표현한다 (r,c)에 해당하는 좌표는 pos 로 표현
2d 좌표평면의 좌표는 x,y 로 쓰자. (x,y)에 해당하는 좌표는 coords 로 표현
좌표평면과 그리드의 구분은, 음수 좌표를 허용하느냐 등의 차이도 있기는 하지만, 기본적으로는 아래로 내려갈때 r 또는 y값이 증가하느냐 감소하느냐의 차이로 구분한다.
그래프에서 경로를 찾을 때, 시작 노드와 끝 노드는 source와 dest로 이름짓자.
기각된 후보들: start/end, from/to, src/tgt, sink, target, …
반댓말 쌍 정리 (일반적인 통용되는 기준이 있는것은 아니지만, 내적 일관성을 위해서)
beg/end - half-open interval
first/last - closed interval
left/right - closed interval
source/dest - 탐색의 시작점과 끝점
start/finish - 시간의 범위
init/target - 상태의 초기값과 마지막값
…
섞어서 쓰지 말자!! (start/end, start/dest, source/target 등등)
재귀함수의 이름은 뒤에 _rec를 붙이도록 하자. 예) def dfs_rec()
사용되지 않는 값을 저장하기 위해서 변수명으로 _ 를 사용한다
불리언 변수의 네이밍
상태를 표시하는 용도로 사용될때, 기본형은 is_XXX 이다
주어를 같이 써줘야 하는 경우에는 문장형으로 네이밍한다
행동을 지정하는 용도로 사용될때 (보통은 함수 파라메터로 들어올 경우) 에도 가능하면 상태 표시로 써주자.
행동 방식을 상태 표시로 표현하기 힘들 경우에는 imperative-style의 동사절으로 쓰는것 허용.
함수 이름