노마드북클럽/클린코드

(외전) 📚 17장. 냄새와 휴리스틱

햅삐한 포메라리안 2022. 3. 25. 17:45
반응형

오늘 TIL 3줄 요약

  • 규칙만 따른다고 깨끗한 코드가 얻어지지 않는다
  • 휴리스틱 목록을 익힌다고 소프트웨어 장인이 되지는 못한다
  • 전문가 정신과 장인 정신은 가치에서 나온다

 

TIL (Today I Learned)

2022.03.25

 

오늘 읽은 범위

17장. 냄새와 휴리스틱

 

책에서 기억하고 싶은 내용을 써보세요.

  • 주석
    • C1: 부적절한 정보
    • C2: 쓸모 없는 주석
    • C3: 중복된 주석
    • C4: 성의 없는 주석
    • C5: 주석 처리된 코드
  • 환경
    • E1: 여러 단계로 빌드해야 한다
    • E2: 여러 단계로 테스트해야 한다
  • 함수
    • F1: 너무 많은 인수
    • F2: 출력 인수
    • F3: 플래그 인수
    • F4: 죽은 함수
  • 일반
    • G1: 한 소스 파일에 여러 언어를 사용한다
    • G2: 당연한 동작을 구현하지 않는다
    • G3: 경계를 올바로 처리하지 않는다
    • G4: 안전 절차 무시
    • G5: 중복
    • G6: 추상화 수준이 올바르지 못하다
    • G7: 기초 클래스가 파생 클래스에 의존한다
    • G8: 과도한 정보
    • G9: 죽은 코드
    • G10: 수직 분리
    • G11: 일관성 부족
    • G12: 잡동사니
    • G13: 인위적 결합
    • G14: 기능 욕심
    • G15: 선택자 인수
    • G16: 모호한 의도
    • G17: 잘못 지운 책임
    • G18: 부적절한 static 함수
    • G19: 서술적 변수
    • G20: 이름과 기능이 일치하는 함수
    • G21: 알고리즘을 이해하라
    • G22: 논리적 의존성은 물리적으로 드러내라
    • G23: If/Else 혹은 Switch/Case 문보다 다형성을 사용하라
    • G24: 표준 표기법을 따르라
    • G25: 매직 숫자는 명명된 상수로 교체하라
    • G26: 정확하라
    • G27: 관례보다 구조를 사용하라
    • G28: 조건을 캡슐화하라
    • G29: 부정 조건은 피하라
    • G30: 함수는 한 가지만 해야 한다
    • G31: 숨겨진 시간적인 결합
    • G32: 일관성을 유지하라
    • G33: 경계 조건을 캡슐화하라
    • G34: 합수는 추상화 수준을 한 단계만 내려가야 한다
    • G35: 설정 정보는 최상위 단계에 둬라
    • G36: 추이적 탐색을 피하라
  • 자바
    • J1: 긴 import 목록을 피하고 와일드카드를 사용하라
    • J2: 상수는 상속하지 않는다
    • J3: 상수 대 Enum
  • 이름
    • N1: 서술적인 이름을 사용하라
    • N2: 적절한 추상화 수준에서 이름을 선택하라
    • N3: 가능하다면 표준 명명법을 사용하라
    • N4: 명확한 이름
    • N5: 긴 범위는 긴 이름을 사용하라
    • N6: 인코딩을 피하라
    • N7: 이름으로 부수 효과를 설명하라
  • 테스트
    • T1: 불충분한 테스트
    • T2: 커버리지 도구를 사용하라!
    • T3: 사소한 테스트를 건너뛰지 마라
    • T4: 무시한 테스트는 모호함을 뜻한다
    • T5: 경계 조건을 테스트하라
    • T6: 버그 주변은 철저히 테스트하라
    • T7: 실패 패턴을 살펴라
    • T8: 테스트 커버리지 패턴을 살펴라
    • T9: 테스트는 빨라야 한다

 

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

  • 청소는 장인정신으로 해내는 것이다.
  • 포기하지 않는 것이 제일 중요한 것 같다
  • 코딩은 사실... 인생이다..

 

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

  • 🙈
반응형