모든 언어에 공통으로 적용되는 클린 코드 기본 규칙입니다. 언어별 세부 규칙과 자동화 도구는
Python Style Guide와
JavaScript Style Guide를 참고하세요.
네이밍 원칙
1. 변수·클래스명은 명사로
class: FeatureExtract // (X)
class: FeatureExtractor // (O)
var: work // (X)
var: worker // (O)
JavaScript
복사
2. 관사는 쓰지 않고, to(2)를 제외한 전치사는 가능한 생략
var: a_cat // (X)
var: cat // (O)
var: the_number_of_worker // (X)
var: num_workers // (O)
class: Seq2seq
function: sentence_to_id()
var: char2id
JavaScript
복사
3. iterators는 단수와 복수로 구분
items = [1, 2, 3, 4, 5]
for item in items: # 아이템들(items) 중의 아이템(item)
print(item)
Python
복사
4. 함수명은 동사 + 명사
function: id() // (X)
function: get_id() // (O)
JavaScript
복사
5. Boolean 변수는 is_ 접두사 사용
is_human = True # 사람인지 아닌지
is_animal = False # 동물인지 아닌지
is_final_data = False # 마지막 데이터인지 아닌지
Python
복사
가독성
주석은 설명하려는 구문에 맞춰 들여쓰기
// Good
function someFunction() {
...
// statement에 관한 주석
statements
}
JavaScript
복사
연산자 사이에는 공백을 추가
a+b+c+d // bad
a + b + c + d // good
JavaScript
복사
콤마 다음에 값이 올 경우 공백을 추가
var arr = [1,2,3,4] // bad
var arr = [1, 2, 3, 4] // good
JavaScript
복사
자동화 — 도구로 강제
•
포맷·린트·import 정렬처럼 기계적으로 검증할 수 있는 규칙은 사람이 아니라 도구가 강제합니다.
•
커밋 전 pre-commit 훅이 스테이지된 파일만 검사·포맷하고, 통과하지 못한 커밋은 차단합니다.
•
언어별 도구
◦
Python → Ruff (lint · format · import 정렬)
◦
JavaScript / TypeScript → ESLint + Prettier
•
자세한 설정과 명령은 각 언어 스타일 가이드를 참고하세요.
