[프로그래밍] 변수명에 대한 고찰 - 깔끔하고 섹시한 코드를 위해 😎 / (2) 기준, 조건 세우기
변수 이름
변수명을 지을 떄 지킬 조건들
1. 단어가 3개까지만 들어가게 지을 것.
- 너무 길어진 변수는 읽기 힘들어용 ㅠ
예) getElementInt (o)
getBackendElementInt (x)
2. Sum, Average, Count, Max 같이 특정 양이나 최대 최소를 나타내는 것들은 뒤의 단어로 쓸 것.
예) studentCount (o)
countStudent (x)
3. 같은 의미의 변수일 때, 내부 함수의 변수는 더 짧은 변수를 사용할 것.
예)
def solution(expression):
def loop(exp):
* exp 에 관한 함수
return exp
return expression
4. 배열, 딕셔너리 등등의 타입일 경우 s 혹은 list, arr 등등 표시를 붙일 것.
- distance = [1, 3, 10] (x)
- distances = [1, 3, 10] (o)
- distance_list = [1, 3, 10] (o)
변수 이름 기준
<모두 대문자>
- 절대 안변하는 상수
- URL 이나 도메인 이름
- 그냥 단순한 기호나 문자열인데 변수로 쓰려고 할 때.
- 원래 관습적으로 대문자로 자주 쓰는 것들 (예 : ID, URL, IP, 등등)
<첫글자 대문자 + 이어지는 단어 대문자로 표현> * 예) MainState
- 타입 이름
- 인터페이스 이름
- 클래스 이름
- 절대 안변하고 사용만 되는 단순 함수, 내용적인 의미도 중요하지 않아야함. (redux 에서 Action 함수 같은거)
<첫글자 소문자 + 이어지는 단어 대문자로 표현> * 예) getLoginPassword
- 일반 함수
- 아래에서 나올 어미 + ~~ 들
- 객체의 property들
<첫글자 소문자 + 이어지는 단어 _로 이어서 표현> 예) add_avail
- 일반적인 두 단어 이상 변수들
- int, bool, string 등등 일반적인 타입의 변수들
- array, dictionary 타입은 s 를 붙여준다.
<함수 앞에 어두>
새로 생성 : make
맞는지 여부 : is (bool)
가능한지 여부 : can
설정하기 : set (void)
받아오기 : get
<변수 뒤 어미>
가능한지 여부 : avail
찾았는지 여부 : found
에러 여부 : error / err
끝났는지 여부 : done
<숫자>
누적 횟수 : count / cnt
인덱스 : index / idx
특정 번호 : num /
파일, 폴더(디렉토리) 이름
파일, 폴더 이름 조건
1. 폴더 이름은 최대한 짧게.
2. 여러 파일을 분류해두는 폴더면 s 를 붙일 것.
- model (x)
- models (o)
3. 날짜, 학번, 등등의 정보는 맨 앞에.
- 200713_update_data.py
4. 순차적 번호 같은 인덱스 정보는 맨 뒤에.
* 날짜도 순차적인 의미가 필요한 경우는 맨 뒤에.
이러한 경우 = 이름 > 날짜 > 순번
- data01.js
- data02.js
5. 여러 단어가 들어간다면 큰 항목에서 작은 항목으로 붙일 것.
- layout_style_line.~~
파일, 폴더 이름 기준
- 일반적인 파일 : 소문자와 _ 로 이루어진 타입 (text_how_to.txt)
- 페이지에 직접적인 파일 : 소문자와 _ 로 이루어진 타입(login.tsx) (www.example.com/login 이런식일 때)
- 리액트 컴퍼넌트를 위한 파일 : 대문자로 시작하는 카멜 타입 (AppLayout.tsx)
요약