Ch.1 잘못된 구조의 문제 깨닫기

텐저린티·2023년 7월 11일
0
post-thumbnail

🧩 요약

  • 설계를 소홀히 했을 때 폐해가 발생함
    • 코드 읽고 이해하는데 오랜 시간 걸림
    • 꼬리에 꼬리 무는 버그
    • 더 나쁜 구조 발생

의미를 알 수 없는 이름

  • 지양할 방법 → 코드에서 어떠한 의도도 읽을 수 없음
    • 기술 중심 명명
    • 일련번호 명명
  • 지향할 방법
    • 의도, 목적 정확히 드러내는 이름 사용

이해하기 어렵게 만드는 조건 분기 중

  • 중첩 if 문을 사용하는 경우를 말함
  • 가독성 처참
    • 디버깅, 기능변경 시간 증가

수많은 악마를 만들어 내는 데이터 클래스

  • 데이터 클래스
    • 데이터를 가지고만 있는 클래스
    • 설계가 제대로 이뤄지지 않은 소프트웨어에서 자주 보임
  • 데이터를 저장하는 클래스와 데이터를 사용하는 클래스가 서로 멀리 떨어져 있으면 발생하는 문제들이 있음

사양 변경 악마

  • 데이터 클래스와 데이터 사용 로직이 멀리 떨어져 있을때 발생
  • 낮은 응집도 = 데이터와 로직이 분리

코드 중복 악마

  • 관련 코드가 멀리 떨어져 있기 때문
  • 로직을 여러군데 구현하게 되면서 발생

수정 누락 악마

  • 사양 변경 시 중복 코드를 모두 수정해야 함

가독성 저하 악마

  • 어플리케이션 규모가 커질 수록 심각해짐

초기화되지 않은 상태 (쓰레기 객체) 악마

  • 안티패턴 쓰레기 객체
    • 초기화하지 않으면 쓸모 없는 클래스
    • 초기화하지 않은 상태가 발생할 수 있는 클래스

잘못된 값 할당 악마

  • 요구사항에 맞지 않는 잘못된 값을 넣는 경우가 발생할 수 있음
  • 음수값 혹은 최대값 넘긴 값 등
  • 유효성 검사로 해결 가능
    • 다만, 데이터 사용로직에서 유효성 검사를 하는 경우 코드 중복이 더 심화

악마 퇴치 기본

  1. 나쁜 구조 폐해 인지
  2. 대처방안 구상
profile
개발하고 말테야

0개의 댓글

관련 채용 정보