私は、クラス図がスパゲッティの皿の上のクモの巣によく似ているプロジェクトを継承しました。私は過去 2 か月で約 300 の単体テストを作成し、メインの実行可能ファイルをカバーするセーフティ ネットを自分自身に与えました。
私は、アジャイル開発に関する書籍のライブラリをいつでも手の届くところに置いています。
- レガシ コードを効果的に使用する
- リファクタリング
- コードコンプリート
- C# でのアジャイル原則のパターンとプラクティス
- 等
問題は、私が触れるものすべてが他の何かを壊しているように見えることです. UI クラスには、ビジネス ロジックとデータベース コードが混在しています。多数のクラス間に相互依存関係があります。他のクラスを変更するたびに壊れる神のクラスがいくつかあります。また、約半分のインスタンス メソッドと半分の静的メソッドを持つミュータント シングルトン/ユーティリティ クラスもあります (皮肉なことに、静的メソッドはインスタンスに依存し、インスタンス メソッドは依存しません)。
私の前任者は、すべてのデータセットを逆方向に使用するのが賢明だとさえ考えていました。すべてのデータベースの更新は、ストアド プロシージャのパラメーターとして db サーバーに直接送信され、データセットは手動で更新されるため、UI には最新の変更が表示されます。
私は時々、彼らが仕事の安全のために、あるいはコードを引き渡す前の最後の別れとして、ある種の弱い難読化を使用したのではないかと考えたくなることがあります。
この混乱を解消するための良いリソースはありますか? 私が持っている本は役に立ちますが、私が直面しているシナリオの半分しかカバーしていないようです.