我刚看到WP代码库中的这行代码。
if ( $user_id = wp_validate_auth_cookie( '', apply_filters( 'auth_redirect_scheme', '' ) ) ) {
}
庵。是啊。两个方法调用和一个if语句中的赋值语句。
所以,我的猜测是,没有人会重构这个。
有什么理由吗?
答案 0 :(得分:5)
要回答标题中的问题:
只是因为有些东西有效,是吗? 意味着你不必重构?
如果确实如此,我们永远不会重构。因为重构发生在绿色上。也就是说,它发生在所有测试都通过时,按照定义 - 代码工作。如果你用红色“重构”,你就不会重构。你正在玩你的代码。你冒着可能不应该冒的风险。重构正在改进现有代码的设计,而不会改变其行为。如果您的代码不起作用,如果您没有演示的测试,那么您所做的更改可能会改变其行为。
答案 1 :(得分:3)
这肯定打破了一些编码标准,但它是否打破了WP编码标准?
我不会在IF块的条件下进行分配。人们总是想知道,那应该是==
而不是=
吗?
重构有利于收回部分技术债务。单元测试和良好的代码覆盖使重构变得更容易。
一个好的经验法则是你触摸代码的任何时候(或者必须盯着它来解密它),这是重构它的时间,所以下一个人不必处理它。在这种情况下,您查看了代码,您应该重构它。当然,这些是该小组必须达成一致的指导方针。
理想情况下,您应该控制技术债务。
答案 2 :(得分:2)
时间是一种并非每个人都拥有的奢侈品。我 - 爱 - 回过头来重构我写过的每一行代码。我们总是在学习(希望如此),并且可能总是回过头来重构我们写的东西,使其更简洁,更优雅,更高效等等。
但它的现实是......如果它有效,那么回归并“修复”通常并不是一个高优先级。有可能你正在开发一些新的东西,如果你在一个代码块中有2个方法调用,客户端并不在意。他们想要他们的产品。
如果有问题的代码是如此无效,系统无法使用,他们会让你知道(相信我),此时你肯定会进行重构。