所以我想说我有这样的功能:
function doStuff () {
let myVar = 3;
doSomething()
......doManyThings()
}
现在我想介绍一些像这样的逻辑:
function doStuff () {
if( true ) {
doThis()
....do All The Stuff Above
doThat()
} else {
....do All The Stuff Above
doAnotherThing()
}
}
在不引入全新功能的情况下处理此函数重构的好方法是什么?
答案 0 :(得分:1)
您只能将条件用于doThis()
function doStuff () {
if ( true ) {
doThis()
}
....do All The Stuff Above
}
修改
如果再次使用相同的部件,请使用don't repeat yourself (DRY)原则并将部件移动到新功能中,可能在正确范围的实际功能内部。
答案 1 :(得分:1)
function doStuff () {
let myNewFunction = function () {
....do All The Stuff Above
}
if( true ) {
doThis()
myNewFunction()
doThat()
} else {
myNewFunction()
someOtherNewFunction()
}
}
应该没问题。 考虑将常用函数移动到对象中。查看this article了解详情。