複雑な条件分岐を分かりやすく

MapやSetを使う

複数のステータスのいずれかに一致するか、という条件判定をひとつずつ実装するのは非効率だし、分かりやすさや見易さを犠牲にすると思います。
MapやSetに存在するかを判定することで見やすく、分かりやすくなるのではないかと。

例)

public class Test {

	private static final Set<String> GOODS_SET;
	static {
		HashSet<String> map = new HashSet<String>();
		map.add("りんご");
		map.add("ぶどう");
		map.add("なし");
		map.add("もも");
		map.add("みかん");
		GOODS_SET = Collections.unmodifiableSet(map);
	}

	public static void main(String[] args) {

		if (GOODS_SET.contains("りんご")) {
			System.out.println("商品に存在します。");
		} else {
			System.out.println("商品に存在しません。");
		}

	}

}

条件分岐の名前で判定するので、分かりやすいと思います。
1点だけ難点を挙げるなら、テストで条件を網羅できたかが確認できないので、条件に含めているものが正しいのかをレビューできちんと確認する必要があるところです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です