じゃあ俺はつらい話でも
暇で仕方なくデバッグを続けていたのだが、ようやくおとといあたりから仕事にありつけた。しかし、
- クラス階層が肥大化しすぎ。そのIFooインターフェースは絶対いらん。
- 多分その引数はarray
じゃなくてIEnumerable でいい。 - 機能が錯乱したクラス。とりあえずツリーの子を得るのはどれなんだ?というか関数一発で取得できるのか?
- 名前が意味分からなすぎ。「プロジェクトファイルを開いた状態かどうかを現わす」フラグの名前はm_IsProjectじゃなくて、とりあえずOpenという単語を含むべき。
- なんでも静的変数。それグローバル変数がちょっと行儀よくなっただけ。
- イベントを有効利用できていない。なんか状態フラグで制御してるよ?
- イベントとイベントハンドラの区別が付いていない。
- 貧乏性が残っている。作ってそしてさっさと破棄しろよ。
- コントロール(UI的な意味で)の機能とか知らなすぎ。リファレンスをよく調べればその機能を自前で作る必要はないことは分かる。
見ろ、コードがゴミのようだコードのようなゴミだ
。
なんというか、「どこかで聞きかじった知識やらイディオムを使ってみて作りました」感で溢れている。まずはとりあえずそのインターフェースデザインをなんとかしてくれ。コーディング規約でm_をつけるつけないとかいう話の前にインターフェース・実装のデザインについてガイドラインを作るべき。