Book Study/Clean Code

Chapter 02. 클린코드와 그 첫 걸음 네이밍

계란💕 2022. 11. 25. 16:29

1. 나쁜 코드란?

  • 성능이 나쁜 코드
  • 의미가 모호한 코드
  • 중복된 코드
    • 나쁜 코드가 나쁜 이유?
      • 깨진 유리창 법칙 => 계속해서 나쁜 코드가 만들어지도록 한다.
      • 생산성 저하

 

 

2. 클린 코드

  • 성능 좋은 코드
  • 의미가 명확한 코드 (가독성 좋은 코드)
  • 중복이 제거된 코드
  • 보이스카우트 룰: 전보다 더 깨끗한 코드로 만든다.

 

 

3. 의미 있는 이름 짓기

  • for loop에 i, j, k 사용하기 보다는 advanced for문을 이용할 수도 있다. 또는 최대한 의미를 찾아서 맥락에 맞는 이름을 사용한다.
  • 통일성 있는 단어 사용하기
  • 변수명에 타입을 넣지 않는다.
  • ex)
    • 가격을 의미하는 변수명에 "amount" 넣지 않기
    • 배열에 "arr" 넣지 않기
    • list, map은 넣어도 괜찮다.
    • 요즘은 인터페이스 앞에 "I" 를 붙이지 않는다.
    • 인터페이스를 implements한 클래스의 뒤에 "Impl"을 붙이는 것은 아직 현업에서도 많이 쓰이는 편이기는 하다.

 

 

4. Google Java Naming Guide

  • 패키지명  ex) deep space => com.example.deepspace... 처럼 대문자, 언더바 없이 그냥 이어서 쓴다.
  • 클래스명: 대문자로 시작
    • 클래스(명사, 명사구), 인터페이스(명사, 명사구, 형용사)
    • 테스트 클래스는 Test로 끝난다.
  • 메서드명: 동사
    • Junit test를 할 때 언더바(_)를 사용한다.
    • "메서드"_"상태"
    • ex) pop_emptyStack