Windowsフォームでは、C#、. NET 3.5、VS2008 .. ..
MenuStrip(または任意の複雑なコントロールグループ)のコードとその子メニュー項目をフォームの他の部分から分離するための良い方法は何ですか?
たとえば、多数のメニューを含むMenuStripがあり、各メニューに多数のメニュー項目があり、すべてにクリックイベントがある場合、Form.Desinger.csファイルとForm.csの両方に大量のコードが吐き出されます。ファイル。これは技術的には問題を引き起こしませんが、(フォーム内の他のすべてのものと一緒に)すべてを1つの場所にダンプするのは間違っていると感じます。
プロジェクト全体でコードメトリクスを実行すると、フォームには、プロジェクトファイルの中で最悪の保守性インデックスがあるというフラグが立てられます。通常、私はコードメトリクスツールの方向性に注意を払うことについてあまり独断的ではありませんが、この場合、私は完全に同意します。
コードメトリクスによると、フォームは次のベストプラクティスに違反しています。
- クラス結合が多すぎます
- コードの行が多すぎます
- 全体的に保守性が低い
MenuStripをフォームの残りの部分から分離するための可能な解決策:
- UserControlに詰め込みます
- 他のアイデア?