用参数控制代码逻辑可能是最经典的错误编码习惯,我在公司的项目代码中见到过好几次类似编码,包括我本人在职业生涯初期也编写过类似的代码。
什么叫参数控制代码逻辑?我们可能经常在项目中看到过类似这种代码:
func Worker(isA bool) {
if isA {
// codeBlockA
}
// repeatedCodeBlock
}
上面示例代码就叫做参数控制代码逻辑,它经常发生在我们想复用代码的时候。然而它并不是复用代码正确的“姿势”,它是我们代码中的“坏味道”,为什么这么说呢?
我在我自己的博客写了一点心得,详细内容请看:为什么说不要用参数控制代码逻辑