CodeSOD: Extremely One Line ノート

CodeSOD: Extremely One Line

コードの自動フォーマットは、可読性を維持するための標準的かつ不可欠なプラクティスです。エディタに統合されているか、ビルドステップとして実行されるかにかかわらず、何らかの形式の自動フォーマッタを利用しない正当な言い訳はありません。Visual Studio のような多くの IDE でさえ、このプロセスを自動化することに非常に積極的です。これは、古い ASP.Net アプリケーションからのコードサンプルを特に不可解なものにしています。Page_PreInit 関数は完全に 1 行に収まっており、その直後に Page_Load の宣言が続きます。このフォーマットの決定は、Logic() 関数がどこで呼び出されているかについて大きな混乱を引き起こします。元の開発者は、ブラウザ文字列で「Safari」をチェックするためにユーザーエージェントのスニッフィングも実装しました。もし「Safari」が検出された場合、Page.ClientTarget は不可解な「uplevel」値に設定されます。これは、悪い命名規則、ユーザーエージェントのスニッフィング、および列挙型がより適切かもしれない場所で文字列を使用することの組み合わせを示しています。最も懸念されるのは、この問題のあるパターンがアプリケーションの複数のページにわたって繰り返されていることです。これは、開発者が意図的にこの混乱していて読みにくいスタイルを選択し、再利用可能な実行可能なソリューションと見なしたことを示唆しています。