我在我们的遗留系统中看到了很多这样的情况--类似于这样的函数:if(cond1) ... // lots of code here
if(cond2)第一部分进行某种处理(可能包含循环、副作用等),并在此过程中设置"todo“标志。只有在设置了"todo“标志时,才执行第二部分。这似乎是一种非常丑陋的做事方式,我认为我花了很多时间去理解
我正在开发一个(Groovy)应用程序,我通过Gradle (在一个连续集成服务器上)构建它。应该将该应用程序编译成两个版本:一个开发版本(包括一些我只想自己启用的特性)和一个公共构建版本(不包括或只是禁用这些“开发功能”)。解决这一问题的一种解决方案是直接在应用程序的主类中设置类似全局标志的东西,比如static final boolean PUBLIC_RELEASE。然后,在我的代码中,我可以检查该标志