几个功能模块有部分代码是公用的,想修改其中一个功能,需要修改公用代码,在不确定哪些功能引用了这段代码的情况下,如何避免破坏其他功能
几个功能模块有部分代码是公用的,想修改其中一个功能,需要修改公用代码,在不确定哪些功能引用了这段代码的情况下,如何避免破坏其他功能
创建一个新的方法。包装别人的方法。
function pre() {}
function now() {
var result = pre()
// todo sth
// todo sth
return newResult
}
函数入口加个标识判断,标识为true走你自己写的逻辑,不然就走原来的不动。例子如下:
default()原来的,newFunc()新的,main()公共调用部分
main()
{
if ($flag) {
NewFunc();
}
else
Default();
}
或者直接修改default()
default($flag){
if ($flag) {
你改的逻辑
}
else
原来的
}
}
这是最简单的改法。。。
15 回答8.4k 阅读
8 回答6.3k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
抽象出来
然后再写多个方法来实现抽象的方法,不同的功能点实现不同的业务逻辑。