🧩 요약
- 설계를 소홀히 했을 때 폐해가 발생함
- 코드 읽고 이해하는데 오랜 시간 걸림
- 꼬리에 꼬리 무는 버그
- 더 나쁜 구조 발생
의미를 알 수 없는 이름
- 지양할 방법 → 코드에서 어떠한 의도도 읽을 수 없음
- 지향할 방법
이해하기 어렵게 만드는 조건 분기 중
- 중첩 if 문을 사용하는 경우를 말함
- 가독성 처참
수많은 악마를 만들어 내는 데이터 클래스
- 데이터 클래스
- 데이터를 가지고만 있는 클래스
- 설계가 제대로 이뤄지지 않은 소프트웨어에서 자주 보임
- 데이터를 저장하는 클래스와 데이터를 사용하는 클래스가 서로 멀리 떨어져 있으면 발생하는 문제들이 있음
사양 변경 악마
- 데이터 클래스와 데이터 사용 로직이 멀리 떨어져 있을때 발생
- 낮은 응집도 = 데이터와 로직이 분리
코드 중복 악마
- 관련 코드가 멀리 떨어져 있기 때문
- 로직을 여러군데 구현하게 되면서 발생
수정 누락 악마
가독성 저하 악마
초기화되지 않은 상태 (쓰레기 객체) 악마
- 안티패턴 쓰레기 객체
- 초기화하지 않으면 쓸모 없는 클래스
- 초기화하지 않은 상태가 발생할 수 있는 클래스
잘못된 값 할당 악마
- 요구사항에 맞지 않는 잘못된 값을 넣는 경우가 발생할 수 있음
- 음수값 혹은 최대값 넘긴 값 등
- 유효성 검사로 해결 가능
- 다만, 데이터 사용로직에서 유효성 검사를 하는 경우 코드 중복이 더 심화
악마 퇴치 기본
- 나쁜 구조 폐해 인지
- 대처방안 구상