【发布时间】:2022-11-14 17:32:40
【问题描述】:
我想知道在这种情况下最好使用哪种类型的替代品。
if (method1(parameters)
method2(parameters);
if (method1(differentParameters)
method2(differentParameters;
//and so on.
代码是一个黑白棋游戏的实现,第一个方法检查是否有可以翻转的对手棋子,内部方法翻转棋子。我们检查所有 8 个方向并相应地翻转碎片。
该代码有效,但我正在寻找重构它的替代方法。
【问题讨论】:
-
能分享一下真实的代码吗?在这样一个模糊的例子中找到合适的替代品有点困难。大多数适当的解决方案可能更具体到手头的实际情况。
-
返回 true 的将被执行。 if/else 无法实现,因为所有给定的 if 都需要检查- 这部分有点不一致。如果您知道一次只能有一个为真,则可以使用
else,因此在找到true之一后,可以跳过其余的。但是,如果您有 8 个ifs 可以一次运行任意数量的它们,那么像现在这样在一个地方收集它们可能是最多可以做的。 -
我同意查看您的实际代码。它让我们更好地了解您的尝试。
标签: java oop design-patterns