共通化の線引がむずかしい
■ このスレッドは過去ログ倉庫に格納されています
0070デフォルトの名無しさん
2006/02/23(木) 01:20:53/**
* 麺類売上げ共通処理。売上げデータを整理する。
* @param rmnUriDat ラーメン売上げデータ
* @param ysbUriDat 焼きそば売上げデータ
* @param smnUriDat そーめん売上げデータ
* @param mnmFlg メンマ追加フラグ(ラーメン売上げデータがnullでない場合のみ使用)
* @param sygClr しょうがの色(焼きそば売上げデータがnullでないか、
* ラーメン種別がとんこつの場合のみ使用)
* @param tuyKsa つゆの濃さ(焼きそば売上げデータ以外のデータに使用)
* @param tmg たまご
* @param flwDat 処理後、小麦粉データがここに返ってくる
* @return List 売上げ整理後データ
*/
static public List menUriCmnPrc( (引数とか略だ。うぜぇ) ) throws Exception {
(中身は1000行程度。うぜぇ)
}
・ 名前からして「共通処理」。"CmnPrc"ときた。
・ ラーメン担当チームは、このメソッドにラーメン売上げデータと必要なパラメータを渡す。
そして焼きそば担当チームは焼きそば売上げデータを、そーめん担当は(略)
(それぞれの「売上げデータ」は、共通のスーパークラスを持たない。
コーディング規約上、そういうクラスを作ってはいけない)
・ 焼きそば担当は tuyKsa に null を渡せばよいのかと思えば、そうではなく
空でもいいから HashMap オブジェクトが必要。
・ 引数「たまご」はどこから得るんだ?DBにも入力画面にも、そんな項目はないぞ。
こういう「賢すぎるメソッド」が発生する一番の原因は、やっぱ名前のつけ方だね。
共通処理という名前に疑問を持つ事が出来れば、
このメソッドが無駄に複雑で、要らない事まで共通化しちゃってる事がすぐに分かる。
ちなみに引数の名前の奇妙な略語は、コーディング規約によるもの。
このメソッドはぬるぽ以外の例外は出さないのに、無意味な throws 節もコーディング規約。。。
■ このスレッドは過去ログ倉庫に格納されています