为什么你可以大胆的删除代码呢?

如题所述

为什么你可以大胆的删除代码呢?一般的话删除代码都有以下操作删除代码的最佳方法

这看起来似乎是明显的,但我不这样认为,因为开发者会使用大量的其他方式来删除代码。 删除代码的方式如下:

选择编辑器中的代码块,单击Backspace键,然后就完成了。

许多开发人员不愿意删除已经写出的东西,他们想要保存大量的代码块以免再次用到。毕竟在编写这些代码块的时候他们付出了很多工作,在调试的时候,它们可以工作。他们不想轻易的将它们扔掉。

这些开发者希望能够保存他们老的代码,所以他们使用一些方式将这些代码失效:注释掉,条件执行,或者仅仅是不再调用。

对于那些开发者,我想说“使用源(控制),Luke”,一个源代码控制系统(例如 Git, Mercurial,或者 Subversion),意味着你永远不需要担心一些东西会永远丢失。当你再次需要的时候你的储存库会给你提供哪些老代码。

如果你没有一个 源代码控制系统(!?!?!)或者仅仅不想因为查找历史记录而被麻烦,那么可以将代码块复制到一个单独的文件区域,并保存。但是不要让代码留在他们不应该在的地方:在你的源代码里。

What"s the big deal?

如果你有一块不再需要的代码,有一个需要删除它而不是将它处于失效状态的重大原因:减少噪音和不确定性。一个开发者会碰到一些最糟糕的敌人就是代码中的噪音和不确定性,因为未来这些会导致代码不能有效地运行。

失效状态的代码块会引起不确定性。它会对其他开发者带来疑惑:

§ 这个代码过去为什么是这个方式?

§ 为什么新的方式更好?

§ 我们需要需要换回就的方式吗?

§ 我们怎么决定?

如果这些问题的答案需要人们知道,那么写一个注释说明它。不要让你的合作者猜测你的用意。

注释掉代码

注释掉一行或者两行(甚至20行)代码是非常简单的:

// OldWayStepOne(fooey);
// OldWayStepTwo(gooey);
NewWay(fooey, gooey);

这些注释是糟糕的。注释应该用于给读者提供他们阅读或者编写代码时需要的信息。注释应该用于帮助未来将会使用这些代码的开发人员。但是上面的注释并没有起到这些效果。事实上,它们的作用刚好相反。在将代码从编译中移除的同时,这些注释增加了代码的混乱、不确定性以及可质疑性。

后续的开发人员在查看这个代码时会知道它老的运行方式,也会知道它新的运行方式,但是它们不知道为什么老的运行方式依旧被保存着:

§ 可能新的方式只是一种实验?如果是这种情况,那么更好的代码是什么?最终版本的代码是如何以及何时保存的?

§ 或许老的方式是更好的,但是有一些错误?如果是这样的话,错误在哪里?是老的方式中代码有问题,还是我们调用时产生的问题?何时会被修复?

§ 或许设计以及改变了,所以老的方式不足以胜任?

任何的注释掉的代码都是一个潜在的问题“为什么它仍然存在?保留一块注释掉的代码是有理由的,比如当你知道很快就会恢复或者那些并不确定的修改。保存代码通常没问题,但是你需要表明为什么保留,注释是为了给别人看的,而注释中的代码并不能告诉任何人任何事情。

不要在没有任何解释的情况下注释掉一段代码 (in the comment).

下面这种方式会不会更好?:

// OldWay did a better job, but is too inefficient until MumbleFrabbitz
// is overhauled, so we"ll use NewWay until the M4 milestone.
// OldWayStepOne(fooey);
// OldWayStepTwo(gooey);
NewWay(fooey, gooey);

现在,谁知道是否MumbleFrabbitz真的会迎来M4里程碑式的大修?或许这种情况不会发生。但是没关系,谁能知道未来会出现什么情况?至少通过这种方式开发者会知道代码被保存下来的原因。通过对改变的解释以及老代码存在的原因说明,开发者会知道他们可以安心的使用新方式,或者何时他们可以有到更好的解决方法。
温馨提示:答案为网友推荐,仅供参考