CodeSOD: HTML 인쇄 값
맷은 이전의 비용 절감 조치로 인해 제대로 작성되지 않은 VB .Net 코드베이스를 물려받았습니다. 이 코드에는 HTML을 생성하여 세션 변수에 저장하는 문제가 있는 패턴이 있었습니다. 이 HTML은 나중에 클라이언트 측 리디렉션을 통해 별도의 인쇄 페이지에 표시될 예정이었습니다. HTML을 생성하는 함수인 GenerateHTMLOfItem은 항목 ID가 이미 세션 변수에 저장되어 있었기 때문에 놀랍게도 매개변수를 받지 않았습니다. 리디렉션 메커니즘 자체도 비효율적이어서 브라우저가 인쇄 페이지에 대한 새 요청을 하도록 했습니다. Microsoft 설명서는 스레드를 종료하고 성능에 부정적인 영향을 미치는 Response.Redirect의 과부하 사용을 권장하지 않습니다. 권장되는 대안은 endResponse 매개변수에 false를 전달하고 CompleteRequest를 호출하는 것입니다. 수많은 문제에 직면한 맷은 다른 작업을 우선시하여 이 특정 코드 조각을 좌절감이 담긴 간구와 함께 주석 처리했습니다. 비효율성에도 불구하고 이 관행은 개발자들에게 채택된 것으로 보이며 코드베이스를 더욱 복잡하게 만들었습니다.