CodeSOD: 클래식 WTF: 테이블 셀렉터
이 글은 여름 방학 동안 고전 코드 예제를 다시 살펴보며, 소스 코드에 대한 논의로 시작합니다. 저자 크리스티안은 독일어로 "quellcode"가 직역하여 "소스 코드"로 번역된다고 지적합니다. 그는 유머러스하게 "quäl-kot"라는 새로운 용어를 만들어냈는데, 이는 독일어 욕설과 "소스 코드"를 결합해 특히 심각한 코드를 설명하는 것이다. 이 감성적인 용어는 코드베이스에서 발견된 부실하게 설계된 인터페이스에서 영감을 받았습니다.문제가 있는 인터페이스는 C# 코드 스니펫으로 제시됩니다. 이 도구는 ITableSelector라는 이름으로 테이블을 선택하는 메서드가 과도하게 많습니다. 구체적으로는 selectTable1(), selectTable2() 같은 메서드와 4a/4b, 7a/7b, 9a/9b, 14a/14b/14c/14d, 21a/21b 같은 다양한 변형 메서드가 있습니다. 인터페이스는 selectTable31()까지 메서드를 계속 나열합니다. 이 방대하고 반복적인 목록은 인터페이스의 설계 결함을 부각시킵니다. 유사한 방법들이 너무 많다는 것은 추상화가 부족하거나 구조가 부실한 해결책임을 나타냅니다. 이러한 인터페이스는 유지보수성과 확장성에 잠재적인 문제를 시사합니다.