CodeSOD:极度单行” 笔记

CodeSOD:极度单行”

代码自动格式化是保持可读性的标准且必要的实践。不采用某种形式的自动格式化工具(无论是集成到编辑器中还是作为构建步骤运行)没有任何正当理由。就连许多 IDE(如 Visual Studio)也会积极自动化此过程。因此,来自古老 ASP.NET 应用程序的代码示例显得尤为令人费解。Page_PreInit 函数完全包含在一行内,紧接着便是 Page_Load 的声明。这种格式化决策导致关于 Logic() 函数调用位置的显著困惑。原始开发者还实现了用户代理嗅探,以检查浏览器字符串中是否包含"Safari"。如果检测到"Safari",则会将 Page.ClientTarget 设置为晦涩的"uplevel"值。这体现了命名规范不佳、用户代理嗅探以及使用字符串而非枚举的混合问题。最令人担忧的是,这种有问题的模式在应用程序的多个页面中重复出现。这表明开发者有意选择了这种令人困惑且不可读的风格,并将其视为可复用的可行解决方案。