[java Anti Pattern Series] 10.overcomplicatedexpression
January 24, 2025
Overcomplicated Expression
- 읽기, 이해 및 유지 관리하기 어려운 지나치게 복잡한 코드를 작성하는 것을 의미한다.
1. 예시
- 자바에서 중첩된 조건, 삼항 연산자, 메소드 호출 및 기타 복잡한 논리가 너무 많이 포함된 경우
- 적절한 문서와 주석이 없는 경우
- 가독성 저하
- 유지 관리 비용 증가
- 버그 발생 확률 증가
2. 이유
- 이해 부족
- 촉박한 시간
- 코드 복붙
- 리팩토링에 대한 저항감
3. 해결 방법
- 복잡한 표현식을 작은 단위로 분해하기 : 표현식에서 별도의 메소드나 변수로 추출할 수 있는 부분을 파악해서 전체 논리를 단순화 하기
- 설명적인 변수 이름 사용 : 변수, 메소드 이름은 설명적인, 의미있는 이름을 사용하기
- 중첩된 조건 피하기 : if-else, 삼항연산자, switch 등 flat하기
- 뚱뚱한 메소드 리팩토링 : 메소드 내에 관심사를 분리해서 내부에서 다른 메소드를 참조하도록 하세요
- 문서화
- 단위테스트 : 다양한 시나리오에서 예상대로 동작하는지 확인
- 코드리뷰