巨大な共通定数クラス・・・あるある
コーディングの掟(最強作法) 現場でよく見る不可解なJavaコードを一掃せよ! (開発の現場セレクション)
- 作者: arton,宇野るいも
- 出版社/メーカー: 翔泳社
- 発売日: 2008/09/18
- メディア: 単行本(ソフトカバー)
- 購入: 29人 クリック: 339回
- この商品を含むブログ (55件) を見る
この本の15ページにある、巨大な共通定数クラスっていう見出しを見た瞬間「あー、あるある」ってなってしまった。
なんでこんなクラスを使いたがるのか全く分からなかったけど、それっぽい理由付けも出来なくはないんだなぁ*1。
それはそうと、最近これの変形版というか、ひどい版に遭遇した。
定数を集めたファイルが、Hoge/SystemConst.cs、Hoge/CommonConst/SystemConst.cs*2、Hoge/CommonEnums.csの3つもあって、それぞれ
- Hoge/SystemConst.cs
- SystemConstクラス、SYSKBN列挙型、KBNTYPE列挙型
- Hoge/CommonConst/SystemConst.cs
- SystemConstクラス
- Hoge/CommonEnums.cs
- SYSKBN列挙型
を持っているという謎構成。
しかもコメント付いてないから何が何なのか全く不明で、何使えばいいの?って聞いたら、
「ここのExcelファイルを見ればいいよ」
・・・Excelで管理が前提ですか。
命名規約も最低で、なぜか列挙型がすべて大文字になっていたり、中に入ってる列挙子は、
KBN_大分類_小分類
の形式だったり、
画面ID_小分類
だったり、もうめちゃくちゃ。
これだったらアンダーバーで分けずに、ドットで分けようよー。
タイプセーフにもなるんだから。
あと、直接は関係ないけど、なんでみんな文字列定数が好きなんだろう。