前几天,我审查了团队中某人写的代码。该解决方案不能完全发挥功能,而且设计过于复杂-意味着存储了不必要的信息,构建了不必要的功能,并且基本上,该代码具有很多不必要的复杂性,例如镀金,并且它试图解决不存在的问题。
在这种情况下,我问“为什么要这样做?”
答案是另一个人喜欢那样做。
然后,我问这些功能中的任何一项是否属于项目规范,或者它们是否对最终用户有用,或者是否有任何额外的数据会呈现给最终用户。
答案是不。
因此,我建议他删除所有不必要的复杂性。我通常得到的答案是“已经完成了”。
我的观点是,它没有完成,有错误,没有满足用户的要求,并且维护成本会比我建议的简单方法高。
一个等效的场景是:
同事花费了8个小时的手工重构代码,而这本可以在10秒内在Resharper中自动完成。自然,我不信任手工重构,因为它质量可疑且未经充分测试。
同样,我得到的答复是“已经完成了”。
对这种态度有什么适当的回应?