相关疑难解决方法(0)

何时从头开始重写代码库

我想回到Joel Spolsky关于永远不会从头开始重写代码的文章.总结一下他的论点:代码不会生锈,虽然在许多维护版本发布之后可能看起来不太好,但如果它有效,它就可以了.最终用户并不关心代码的漂亮程度.

你可以在这里阅读文章:你不应该做的事情

我最近接管了一个项目,在查看了他们的代码之后,它非常糟糕.我立刻想到了我之前构建的原型,并明确声明它不应该用于任何生产环境.但当然,人们不听.

代码是作为一个网站构建的,没有任何关注点,没有单元测试和代码重复.没有数据层,没有真正的业务逻辑,除非你在App_Code中计算一堆类.

我已向利益相关方提出建议,虽然我们应该保留现有代码,并进行错误修复发布和一些小功能发布,但我们应该立即开始重新编写测试驱动开发并明确分离关注点.我正在考虑使用ASP.NET MVC路由.

我唯一关心的是从头开始重写可能需要的时间.这并不是完全复杂的,有会员资格的磨坊网络应用程序.

你们有没有遇到类似的问题?你采取了什么特别的步骤?

更新:

那么......我最终决定做什么?我采用了马特的方法并决定重构许多领域.

  • 由于App_Code变得相当大,从而减慢了构建时间,因此我删除了许多类并将它们转换为类库.
  • 我创建了一个非常简单的数据访问层,它包含所有ADO调用,并创建了一个SqlHelper对象来执行这些调用.

  • 我实现了一个
    更简洁的清洁日志解决方案.

虽然我不再参与这个项目[资金,政治,等等],但我认为它让我对一些项目的编写能力有了很大的了解,并且开发人员可以采取措施使事情变得更加清晰,可读和公正随着时间的推移逐渐变小,逐渐变平.

architecture testing tdd

61
推荐指数
7
解决办法
1万
查看次数

标签 统计

architecture ×1

tdd ×1

testing ×1