클린코드 1장/2장

아빠는 외계연·2023년 5월 22일
0

1장 : 깨끗한 코드

나쁜 코드의 댓가

  • 나쁜 코드가 쌓일 수록 업무 속도가 늦어져 생산성이 떨어진다.
  • 코드를 깨끗하게 유지할 수록 기한을 맞출 확률이 높아진다.
    • 빨리 가려하지 말고 정확히 가려 노력하자

깨끗한 코드 조건

  • 한 가지에 집중한다.
    • 메서드가 여러 기능을 수행한다면 메서드 추출 리펙터링 기법으로 메서드 여러개로 나눈다.
  • 작성자가 아닌 사람도 읽고 고치기 쉽다.
  • 세세한 사항까지 주의를 기울인 코드이다.
  • 읽으면서 짐작한 대로 돌아가는 코드이다.

2장 : 의미있는 이름

의미있는 이름을 사용할 경우 함수가 하는 일을 이해하기 쉬워진다.

의미있게 구분하라

  • 읽는 사람이 차이를 알 수 있는 이름을 지어야 한다.
accountData와 account는 차이를 알 수 없다

발음하기 쉬운 이름을 사용하라

  • 팀원과 변수명에 대해 회의를 할 때 지적인 대화가 가능해진다.

검색하기 쉬운 이름을 사용하라

  • 상수나 가장 많이 쓰이는 문자인 e를 사용할 경우 검색하기 어렵다.
  • 변수나 상수를 코드 여러 곳에서 사용한다면 검색하기 쉬운 이름이 바람직하다.

인코딩을 피하라

  • 인코딩을 넣으면 이름을 해독하기 어려워진다.

자신의 기억력을 자랑하지 마라

  • 일반적으로 문제나 해법 영역에서 사용하는 이름을 선택해야 한다.

클래스 이름

  • 명사/명사구가 적합
  • 동사는 피한다.

메서드 이름

  • 동사/동사구가 적합

기발한 이름은 피하라

  • 재미보다는 의도가 분명하고 명확한 명료한 이름이 좋다.

한 개념에 한 단어를 사용하라

  • 추상적인 개념 하나에 한 단어를 사용
    • ex ) fetch, get, retrieve
  • 어휘를 일관성있게 사용하라

의미있는 맥락을 추가하라

firstName, lastName, street, city, state, zipcode

해당 단어들을 보면 떠오르는 맥락이 무엇인가?
바로 주소이다,.
이와 같이 맥락을 파악할 수 있도록 변수명을 적용하라

불필요한 맥락은 없애라

  • 만약에 고급휘발유 충전소(Gas Station Deluxe)의 애플리케이션을 짜기 위해 내부 주소 테이블이 필요했을 경우, 굳이 GSDAddress라고 이름을 붙일 필요는 없다.
  • 의미가 분명히 드러나는 경우에는 굳이 불필요한 맥락을 추가할 필요는 없다. 긴 이름보다는 짧은 이름이 좋기 때문이다.
profile
Backend Developer

0개의 댓글