togino77 2012-08-23 04:48:25

[Java] 変更する時のこと考えてる? このエントリーをはてなブックマークに追加

投稿者からのアピールポイント

その時の仕様では有効日数が3日だったけど,将来変更する可能性も高かったので, 「定数にして一箇所変更するだけでいいようにしてください」と頼んでおいたら, こんなコードが書かれていた.

// ◯◯様の要望により,有効日数を定数化
private static int THREE_DAYS = 3;

使い方ヒント: 「これは臭う」という行を見付けたら、各行のsmellをクリックしてマーキングしておきましょう(要Twitter OAuth認証)

コメント(7)

#1 y_a_m_a_s_a_n 2012-08-23 04:55:42  

プロパティファイルを使えばコンパイルの必要すらないのに

#2 HarpoonArrow 2012-08-23 05:46:15  

最善ではないにせよせっかく変更を見越した設計にしたのになにその変数名

#4 hardtimes777 2012-08-23 11:17:02  

「コメントを書け」って言われたら「○○さんに言われたから」って書くのが流行りなの?

#5 ayuina 2012-08-23 16:17:39  

これは突っ込みどころが多いな。そもそもの要望がバグだよな。 もしかして定数にしてないのは、この変数を利用している箇所では要望を満たしてるぽく見せつつ、実はプロパティファイルから読み込んだ値を代入できる変数なので、コンパイルフリーを実現できるという、実は高度な対応なのか?

#6 togino77 2012-08-24 13:43:37  

みなさん,ありがとうございます.このコードが臭うのは 1. あちこちに3という数字をそのまま書き込んでくる奴なので,一箇所に纏めるよう,少しは知ってるはずの C言語の #define を意識して,例え話として「定数」を口にしたのに,まじでそのままコーディングしてくるところ 2. 言われたからやりました,と言いたいのか,コメントに書いてくるところ 3. もし 6日に変更になったら THREE_DAYS = 6 となる違和感が想像できないところ 最初,すべて見越した上で,喧嘩を売ってきたのか?と思ったのだが,やりとりして,素だと分かったので,天性のウンコなんだなと思った次第です.

#7 crayonmarch 2014-04-13 07:16:52  

このコードほど日本社会の病気が理解しやすいものはないと思います。とにかく素晴らしい。

コメント投稿には、twitter認証が必要です。

Twitter認証

このウンコードに臭った人は、こちらのウンコードにも臭ってます

[JavaScript] とっても長いswitch/case文

このエントリーをはてなブックマークに追加

配列変数を全く理解できていなかった。

var rnd = Math.floor(Math.random() * 128...

鑑賞する »

[Java] 内部的にunicodeだから日本語つかえ...

このエントリーをはてなブックマークに追加

これを書いた先輩に「英語で書きましょうよ...

class 会員 {
    private int 会員番号;
    p...

鑑賞する »

[Java] 長すぎるor短すぎる関数名

このエントリーをはてなブックマークに追加

Javadocでやれ

public static User findByFirstNameFamily...

鑑賞する »