アプリ版:「スタンプのみでお礼する」機能のリリースについて

数値の定数名を付ける時、悩みます。

String[]の入力数の状態により処理が異なるとき

この書き方では格好悪いです。
private static final int ZERO = 0;
private static final int ONE = 1;
private static final int TWO = 2;

上記に変わるもの
private static final int NOT_VALUE = 0;
private static final int ●●● = 1;
private static final int △△△ = 2;

●●●と△△△に適切な定数名が思いつきません。
どういう風に考えたらいいのでしょうか?

A 回答 (2件)

String[]の入力数自体に意味を持たせてはどうでしょうか?



0の場合・・・実行なし
1の場合・・・XXX処理実行
2の場合・・・YYY処理実行

private static final int EXECUTE_NONE = 0;
private static final int EXECUTE_XXX = 1;
private static final int EXECUTE_YYY = 2;

私なら設計レベルで上記のように意味を持たせますね。

後気になるのは0,1,2以外の場合ですかね。(多分処理なし、0と同じになるのかな)
    • good
    • 0
この回答へのお礼

なるほど、分かりやすいですね。
境界値としてそれ以外の値も必要であるということですね。
勉強になりました。
ありがとうございます。

お礼日時:2008/12/16 14:18

名前をつける時には, その名前であらわされる値の「意味」を考えてください. ですから, この場合には #1 の通り「その値のときにする処理」を名前につける (少なくとも名前の一部にする) べきです.


ZERO とか ONE とかいう「値の実体をあらわす名前」はほとんど無意味 (もしくは有害なことすらある) なので, 「格好悪い」というレベルではなく「そのような名前は避けなければならない」というレベルだと思ってください.
ところで, enum って使えないんだっけ?
    • good
    • 0
この回答へのお礼

>ZERO とか ONE とかいう「値の実体をあらわす名前」はほとんど無意味 (もしくは有害なことすらある)

せっかく定数にしたのにもかかわらず、ZEROやONEにすると、確かに無意味ですね。これならハードコーディングと変わらないですよね。
enumに値を位置づけしてそれを作成する方法もありますね。
ありがとうございました。

お礼日時:2008/12/16 14:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!