我的任务是重构一个充满重复代码的工具,耦合模块(即使代码的作者也害怕改变任何东西,因为他不知道它可能会产生什么影响)和一个过于复杂的数据库(250 +可以用大约20替换的查询。
项目客户只知道该工具难以维护和更改,但没有技术专长。
我如何用简单的术语解释具有较小代码库,重用代码,解耦组件和遵守代码约定的新工具的优势?
答案 0 :(得分:0)
你几乎回答了自己的问题:)
重构的目的是使代码更容易,即更便宜。 ("维护"只是"更改"的一部分。)
它位于Fowler's definition of refactoring:"名词:对软件内部结构的改变,使其更易于理解,修改成本更低而不改变其可观察的行为#34; 。而且更容易理解"是为了使修改更便宜。没有人支付程序员只是坐下来理解事物而不理解他们。
糟糕的代码在很多方面都会花钱:
您甚至可以通过估算每次更改代码时重新调查代码的成本,销售或使用损失的成本,由于错误导致的额外支持成本以及机会成本,来为代码库的质量提供现金价值如果更容易这样做,你不会做出改变。平衡与重构的成本。
附注:你没有特别提到测试,所以我应该提到完全性,重构意味着自动测试,这就像重构是一项有自己成本和收益的投资。你肯定是疯做没有任何测试显著的重构。