mike_neck mike_neck 2012-08-01 05:42:57

[Java] int enum pattern … バグの温床 このエントリーをはてなブックマークに追加

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

業務コード使用区分というチェックボックスによる入力項目と、 業務コード設定区分というラジオボタンによる入力項目がある画面での、 画面に付与する値を定義した部分。 それぞれの名前が紛らわしい上に、 型がともにintなため、バグの温床になる。

/**
 * 業務コード使用区分のONと業務コード設定区分のONが同一な値の上、
 * intでの値が等しいため、どちらがどちらを表すのか型安全でなく、
 * バグを発生させやすい。(発生させたことがある)
 */
public interface Gyom1234 {
    public static final int GYOM_CD_SIYOU_KBN_OFF = 0;
    public static final int GYOM_CD_SIYOU_KBN_ON = 1;
    // 60行くらい他のint enumの設定
    // ...
    // ...
    public static final int GYOM_CD_SETTEI_KBN_ON = 1;
    public static final int GYOM_CD_SETTEI_KBN_OFF = 2;
    public static final int GYOM_CD_SETTEI_KBN_HUKUSU = 3;
}

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

コメント

まだコメントがありません。最初にコメントを残しませんか?

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

Twitter認証

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

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

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

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

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

鑑賞する »

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

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

Javadocでやれ

public static User findByFirstNameFamily...

鑑賞する »

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

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

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

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

鑑賞する »