1.안티패턴(Anti pattern)
특정 상황에서 잘못된 해결책이나 비효율적인 방법을 사용하여 문제를 해결하려는 시도
실제 많이 사용되는 패턴이지만 비효율적이거나 비생산적인 패턴을 의미한다.
1-1.Code Sprawl
특정 코드 영역이 지속적으로 확장되며, 복잡도가 증가하고 유지보수가 어려워지는 상황
public class Example {
public void function1() {
// 초기 기능 코드
}
public void function2() {
// 추가된 새로운 기능
}
public void function3() {
// 또 다른 기능
}
public void function4() {
// 또 다른 기능
}
// ...
}
1-2.God Class
하나의 클래스가 너무 많은 책임을 가지고 있어 유지보수가 어려운 상황
public class User {
private String name;
private String email;
public void saveUser() {
// 데이터베이스에 사용자 정보 저장
}
public void sendEmailNotification() {
// 이메일 알림 보내기
}
public void calculateDiscount() {
// 할인율 계산
}
public void validateInput() {
// 입력 검증
}
}
1-3.Dead Code
사용되지 않는 코드 조각이 프로젝트에 남아 있어 코드의 복잡도를 높이고 유지보수를 어렵게 만드는 문제
public class Example {
public void unusedMethod() {
// 사용되지 않는 코드
}
public void usedMethod() {
// 사용되는 코드
}
}
1-4.Premature Optimization
성능 향상을 목표로 코드 최적화를 과도하게 시도하다가 오히려 코드가 더 복잡해지거나 유지보수가 어렵게 되는 경우
public class OptimizationExample {
public int calculateFactorial(int n) {
if (n == 0) {
return 1;
} else {
int result = n * calculateFactorial(n - 1); // 재귀 호출
return result;
}
}
}
'Computer Science > 개발지식' 카테고리의 다른 글
[개발지식] 마이크로서비스 (0) | 2025.01.22 |
---|---|
[개발지식] 표현 언어(Expression Language, EL) (0) | 2025.01.11 |
[개발지식] 엔드투엔드(end-to-end) 테스트 (0) | 2025.01.07 |