나쁜코드 vs 클린코드
나쁜코드
- 불필요한 연산이 들어간 코드
- 의미가 모호한 코드
- 중복된 코드
나쁜 코드가 미치는 영향
- 성능저하
- 생산성 저하
- 유지보수가 어려움
- 기술부채 n의n승으로 증가
클린코드
- 한가지를 제대로 하는 코드
- 잘 쓴 문장처럼 읽히는 코드
- 성능이 좋은 코드
- 중복이 없는 코드
변수 짓기
나쁜 변수명
const a: number = 1
const b: string = "peter"
for (let i = 0; i < 9; i++) {
str = str + i;
}
- 의미를 도저히 알 수 없는 이름
- 반복문에서 i는 상황에 따라 혼동을 유발
좋은 변수명
const number: number = 1
const name: string = "peter"
for (let loopCount = 0; loopCount < 9; loopCount++) {
cycle = cycle + loopCount;
}
- 변수명은 의미가 분명하게 짓고
- 안에 있는 데이터는 변수명과 같이 봤을때 '아~~' 소리가 나오게 해야됨
사용 단어 통일
User, Client, Member
- 위 세가지 단어 모두 떼놓고 봤을땐 납득할만한 단어들
- 하지만 협업에선 팀 규칙에 따라 통일 시켜주는 것이 혼동을 줄여줌
타입을 가진 변수
nameString, ageNumber
- 변수엔 타입을 넣지 않아도 일반적인 타입 언어들이 변수 선언시 타입을 면시해줌
accountArray
- accounts 라고 간단하게 명시할 수 있음
Google Naming Guide
패키지
- 패키지명은 전부 소문자로 표기하고 언더바 사용하지 않음
클래스 네임
- 클래스는 대문자로 시작하는 카멜형태로 만들어줌
그 외
- 함수, 메소드는 동사로 시작하는 변수
- 카멜케이스를 사용해줌