于是代码结构变成了: void PagerEncrypt(){Encrypt( " 密文 " );} void Answ

时间:2021-10-03 07:35:56

建议148:不反复代码

如果发明反复的代码,则意味着我们需要整顿一下,在继续前进。

反复的代码让我们的软件行为不一致。举例来说,如果存在两处不异的加密代码。功效在某一天,,我们发明加密代码有个小Bug,然后改削了它,却又忘记了角落里的某处存在着一份不异的代码,那么这个Bug就会隐藏起来。

让我们重现这个例子:

void PagerEncrypt() { //加密代码 } void AnswerEncrypt() { //不异的加密代码 }

在这段代码中,要领PagerEncrypt和AnswerEncrypt使用了不异的加密代码。在实际使用过程中,这两个要领可能不会靠得如此近,它们甚至可能在差此外定名空间下。糟糕的是,重构人员在进行重构的时候,没有发明AnswerEncrypt,于是代码布局酿成了:

void PagerEncrypt() { Encrypt("密文"); } void AnswerEncrypt() { //不异的加密代码 } string Encrypt(string intput) { string output = string.Empty; //加密代码 return output; }

在开发人员在Encrypt中发明Bug并修正它后,两端原真不异的加密代码酿成差此外了。一份值正确的,一份是错误的。而对付这些代码的挪用者来说,他看到了类似的要领接口,却没想到其内部实现是完全不一样的。这增加了挪用者的排错难度。

所以,对付开发者来说,务必注意不要让代码中呈现不异的片段,这不只是为了代码的整洁,还可以制止更多灾以察觉的Bug的呈现。