CodeSOD: 극도로 한 줄
코드 자동 서식 지정은 가독성을 유지하기 위한 표준적이고 필수적인 관행입니다. 편집기에 통합되거나 빌드 단계로 실행되는 형태의 자동 서식 지정 도구를 사용하지 않을 타당한 이유는 없습니다. Visual Studio와 같은 많은 IDE조차도 이 프로세스를 자동화하는 데 매우 적극적입니다. 이 때문에 오래된 ASP.Net 애플리케이션의 코드 샘플은 특히 당혹스럽습니다. Page_PreInit 함수는 완전히 한 줄에 포함되어 있으며, 바로 뒤에 Page_Load 선언이 이어집니다. 이러한 서식 지정 결정은 Logic() 함수가 어디에서 호출되는지에 대해 상당한 혼란을 야기합니다. 원 개발자는 또한 사용자 에이전트 스니핑을 구현하여 브라우저 문자열에서 "Safari"를 확인했습니다. "Safari"가 감지되면 Page.ClientTarget이 모호한 "uplevel" 값으로 설정됩니다. 이는 좋지 않은 명명 규칙, 사용자 에이전트 스니핑, 그리고 열거형이 더 적절할 수 있는 곳에 문자열을 사용하는 것의 조합을 보여줍니다. 가장 우려되는 점은 이 문제가 되는 패턴이 애플리케이션의 여러 페이지에 걸쳐 반복된다는 것입니다. 이는 개발자가 의도적으로 이 혼란스럽고 읽기 어려운 스타일을 선택했으며, 재사용 가능한 실행 가능한 솔루션으로 간주했음을 시사합니다.