その時の仕様では有効日数が3日だったけど,将来変更する可能性も高かったので, 「定数にして一箇所変更するだけでいいようにしてください」と頼んでおいたら, こんなコードが書かれていた.
// ◯◯様の要望により,有効日数を定数化 private static int THREE_DAYS = 3;
使い方ヒント: 「これは臭う」という行を見付けたら、各行のをクリックしてマーキングしておきましょう(要Twitter OAuth認証)
最善ではないにせよせっかく変更を見越した設計にしたのになにその変数名
「コメントを書け」って言われたら「○○さんに言われたから」って書くのが流行りなの?
これは突っ込みどころが多いな。そもそもの要望がバグだよな。 もしかして定数にしてないのは、この変数を利用している箇所では要望を満たしてるぽく見せつつ、実はプロパティファイルから読み込んだ値を代入できる変数なので、コンパイルフリーを実現できるという、実は高度な対応なのか?
みなさん,ありがとうございます.このコードが臭うのは 1. あちこちに3という数字をそのまま書き込んでくる奴なので,一箇所に纏めるよう,少しは知ってるはずの C言語の #define を意識して,例え話として「定数」を口にしたのに,まじでそのままコーディングしてくるところ 2. 言われたからやりました,と言いたいのか,コメントに書いてくるところ 3. もし 6日に変更になったら THREE_DAYS = 6 となる違和感が想像できないところ 最初,すべて見越した上で,喧嘩を売ってきたのか?と思ったのだが,やりとりして,素だと分かったので,天性のウンコなんだなと思った次第です.
このコードほど日本社会の病気が理解しやすいものはないと思います。とにかく素晴らしい。
コメント投稿には、twitter認証が必要です。
Twitter認証
プロパティファイルを使えばコンパイルの必要すらないのに