design-patterns

重构大型if/elif/else子句

作为构建过程的一部分,我经常会遇到这样的情况:一个构建方法在计算时考虑了很多布尔条件(或标志)。这通常会导致该方法看起来像一个很大的if/elif/else树:我问你的问题是,你将如何重构这样的代码?我正在寻找某种设计模式或类似的方法来制作代码:可读性更强支持现在“构建”应该考虑新标志的情况。很容易测试我的项目是用python3.8编写的,但我认为这是一个可能与任何其他编程语言相关的通用问题。

使用Jest测试中介设计模式

在某种程度上,我觉得调解模式将是处理玩家和CPU发射导弹的完美选择。现在,我的任务鼓励我不用console.log而是用Jest彻底测试游戏。我已经能够测试游戏的一些功能,但调解模式令人困惑。EventManager中的函数notifyAttack已经用console.log的旧方法进行了测试。基本上,GameManager负责改变回合,设置游戏,而EventManager专门处理防止Player和CPU之间耦合的战斗如果你需要这个问题的更多细节,我想听听你的意见。