在我的 java 应用程序中,我有大量的条件只决定一个动作。我的问题是如何让它看起来不错(我使用 NetBeans,所以我更喜欢不会被其代码格式化功能破坏的解决方案)。我还希望有尽可能少的 if/else 语句,因为我认为它会使其更快。
我原来的代码是一团糟,所以我做了一个动作图:. 如果您想玩它,请复制一份。请记住,该图对于 UML语法并不完美,部分原因是我使用谷歌文档制作的。
这是代码:
if (!config.get("checkForSpecials") || event.isNotSpecial()) {
if (config.get("filterMode").equals("blacklist")) {
if (!itemFilter.contains(event.getItem().getName())) {
item.process();
}
} else if (config.get("filterMode").equals("whitelist")) {
if (itemFilter.contains(event.getItem().getName())) {
item.process();
}
} else {
item.process();
}
}
有两点我不喜欢它 - 条件不太清楚(特别是当我展开完整的方法名称和配置字符串时),以及 process 方法调用存在 3 次这一事实。