코드 스멜
코드 스멜이란?
- 코드에서 더 심각한 문제를 일으킬 수도 있는 코드
코드 스멜의 종류
일반적인 수준의 스멜
1. 어울리지 않는 이름
2. 중복 코드
3. 과하게 복잡한 패턴
4. 간단한 변경인데 여러 곳에 적용해야하는 것
5. 실행할 때 예외를 일으키지만, 단위 테스트로 문제점을 잡아낼 수 없는 것
6. 변수의 용도를 변경하는 것
7. 헷갈리는 bool 값
클래스 수준의 스멜
1. 커다란 클래스
2. 기능에 대한 욕심
3. 부적절한 관계
4. 거부된 유산
5. 게으른 클래스
6. 리터럴의 과도한 사용
7. 순환 복잡도
8. 다운캐스팅
9. 고아 변수 또는 컨스턴트 클래스
10. 데이터 덩어리
메서드 수준의 스멜
1. 너무 많은 매개변수
2. 긴 메서드
3. 과도하게 긴 식별자
4. 과도하게 짧은 식별자
5. 과도한 데이터의 반환
6. 과도한 주석
7. 과도하게 긴 줄로된 코드