我有一些与语言无关和设计模式相关的问题,尽管我在 javascript/node.js 中编程,如果它很重要的话。对于一些有经验的程序员来说,它实际上非常简单,也许微不足道。
假设我们有一个函数/方法通过调用处理特定子问题的其他函数来执行某些过程(称为业务逻辑)。
function doProcess(){
subProcessA();
subProcessB();
subProcessC();
return "OK"
}
但是,我们得到了执行类似流程的任务,但是这个新流程不能调用 subProcessA。例如,我们有下一部分代码:
function doProcess2(){
subProcessB();
subProcessC();
return "OK"
}
所以我的问题是如何设计代码或者我应该:
A)每次都为新流程创建新功能,就像上面的例子一样,但是我有很多冗余代码并且每次都重复自己。
B)在这样的过程代码中做大 IF:
if(some-condition){
subProcessA()
}
但是我的代码看起来会很糟糕。
C)直接在 subprocessA 中迁移该 IF :
if(!some-condition){
return // do nothing
}
但它再次看起来像耦合代码,而且我觉得这不是最好的方法。
D) 别的东西?