グローバル変数の罪
某に VC++ でアプリケーションを作らせた。作らせたアプリケーションは、以前、Java で作ったものとよく似たもの。当然、設計の大半も流用できる。
今日、そのアプリケーションのコードレビューをした。
設計が変わっていた。OO的には、本来あってはならない依存関係がたくさんできていた。その依存関係が機能拡張の破綻の原因になっていたので、本来は変更しないでもいいはずのモデルなクラスまでが変更されていた。
某の言い訳。
「グローバル変数が便利だったから、あちこちで使った。そしたらそうなった。」
「Setter/Getter をいちいち作るのがめんどくさかった。」
グローバル変数を使うもんで、結果的には何倍もめんどくさくなってるんだよぉぉ。
今日の教訓:急がば回れ