내 코드가 그렇게 이상한가요? 9장 설계의 건전성을 해치는 여러 악마

2025. 3. 4. 20:43개발서적 스터디/내 코드가 그렇게 이상한가요?

9.1 데드 코드

  • 데드 코드 : 실행되지 않는 조건 내부에 있는 코드 → 발견 즉시 제거

9.2 YAGNI 원칙

  • YAGNI : You Aren’t Gonna Need IT (필요 없는 기능을 만들지 말라!)

9.3 매직 넘버

  • 설명이 없는 숫자 → 상수를 활용하자

9.4 문자열 자료형에 대한 집착

9.5 전역 변수

  • 거대 데이터 클래스도 여러 곳에서 참조하기 때문에 전역 변수와 같은 성질을 가질 수 있음
  • 영향 범위가 최소화 되도록 설계하기

9.6 null 문제

  • null 은 애초에 초기화하지 않은 메모리 영역에서 값을 읽으면 문제가 되기 때문에 이를 피하기 위해 발명된 것
    • 따라서 null 자체는 잘못된 처리를 나타냄
    • “무언가를 갖고 있지 않은 상태”, “무언가 설정되지 않은 상태” 는 그 자체로 의미가 있는 상태이므로 null 로 이를 표현하면 안됨
  • null을 리턴/전달하지 않는 설계 하기

9.7 예외를 catch 하고서 무시하는 코드

  • 원인 분석을 어렵게 만듦
  • 문제가 발생했다면 통지/기록 하기
    • 이러한 상황을 피하기 위해서 장못된 상태에 대해 로그로 기록, 상위 레이어에 오류를 통지