只是因为某些东西有效,这是否意味着你不必重构?

时间:2010-12-08 17:37:59

标签: refactoring

我刚看到WP代码库中的这行代码。

if ( $user_id = wp_validate_auth_cookie( '', apply_filters( 'auth_redirect_scheme', '' ) ) ) {
}

庵。是啊。两个方法调用和一个if语句中的赋值语句。

所以,我的猜测是,没有人会重构这个。

有什么理由吗?

3 个答案:

答案 0 :(得分:5)

要回答标题中的问题:

  

只是因为有些东西有效,是吗?   意味着你不必重构?

如果确实如此,我们永远不会重构。因为重构发生在绿色上。也就是说,它发生在所有测试都通过时,按照定义 - 代码工作。如果你用红色“重构”,你就不会重构。你正在玩你的代码。你冒着可能不应该冒的风险。重构正在改进现有代码的设计,而不会改变其行为。如果您的代码不起作用,如果您没有演示的测试,那么您所做的更改可能会改变其行为。

答案 1 :(得分:3)

这肯定打破了一些编码标准,但它是否打破了WP编码标准?

我不会在IF块的条件下进行分配。人们总是想知道,那应该是==而不是=吗?

重构有利于收回部分技术债务。单元测试和良好的代码覆盖使重构变得更容易。

一个好的经验法则是你触摸代码的任何时候(或者必须盯着它来解密它),这是重构它的时间,所以下一个人不必处理它。在这种情况下,您查看了代码,您应该重构它。当然,这些是该小组必须达成一致的指导方针。

理想情况下,您应该控制技术债务。

答案 2 :(得分:2)

时间是一种并非每个人都拥有的奢侈品。我 - 爱 - 回过头来重构我写过的每一行代码。我们总是在学习(希望如此),并且可能总是回过头来重构我们写的东西,使其更简洁,更优雅,更高效等等。

但它的现实是......如果它有效,那么回归并“修复”通常并不是一个高优先级。有可能你正在开发一些新的东西,如果你在一个代码块中有2个方法调用,客户端并不在意。他们想要他们的产品。

如果有问题的代码是如此无效,系统无法使用,他们会让你知道(相信我),此时你肯定会进行重构。