6 time refactoring unit-testing
我正在尝试制定一个关于如何花更多时间重构的计划.所以我想与行业标准进行比较,但我很难找到相关的研究或指标.
我觉得花费在重构上的开发时间的20%似乎是一个很好的比例,但我没有任何东西可以显示它.
在我看来,100%或开发时间:
因此,大约有1行代码可以写入2个已发送的产品.显然,设计时间,文档时间等都集成在这些百分比中.
什么是行业标准?根据经验,您的团队使用什么?谢谢,奥利维尔
您的评论说您有数百万行代码但没有单元测试,并且您很难说服管理层相信单元测试是值得的。根据福勒的书,重构需要伴随单元测试,以确保重构时不会破坏任何东西。我同意,并且我建议单元测试将在现阶段提供比其他任何东西都更多的价值,所以首先要实现这个目标。我强烈推荐 Michael Feathers 的书《有效处理遗留代码》,以获取有关如何做到这一点的建议。您甚至不必编写多个单元测试即可使其成为有价值的工作,只需让框架运行即可。
第 0 步:将自动化单元测试框架运用到您的代码中。
你不会试图独自完成这件事,是吗?这是一个大项目,我希望你是一个高级技术团队的一员,与你分担痛苦。你需要让所有人 100% 相信这一点。当你去找老板时,你需要他们的支持,你需要他们分享设计的专业知识,你需要他们对设计的完全同意。
第一步:聚集一队。
如果没有计划和目标,重构不会有太大帮助。您是否希望只是削减代码并使模块更小?您要将代码组织到域中吗?您打算尝试将一些服务接口插入其中吗?您要重构为 n 层架构吗?您和团队认为需要做什么?您将如何向 SE 传达这个设计和重构计划?
第 2 步:让团队进行一些初步的建筑设计和最终状态的规划。
现在是困难的部分。您要求占用 30 名工程师中 20% 的时间,每年可能超过 500,000 美元。您将需要比“累积的技术债务”更多的理由。您需要展示投资回报。
因此,准备好回答你的老板肯定会问的问题:“我为什么要这样做?” 您期望通过重构获得什么?您会将新功能的开发工作量减少 10% 吗?100%?您会提高代码质量/减少错误/降低支持成本吗?您会加快上市时间吗?多少?这会让您减少 SE 或承包商的人数吗?多少?或者您能够在每个版本中添加更多功能吗?还有一些负面因素:如果给你一年的时间进行重构,有多少功能会被延迟?他们会推迟多久?
第三步:认真进行估算。
现在你已经有了设计、计划、财务理由,并且得到了技术人员的支持,回到你的老板那里,向他或她展示你的案例。你会比说“我们应该花 20% 的时间重构,互联网上的一些人这么说”要好得多。
| 归档时间: |
|
| 查看次数: |
2585 次 |
| 最近记录: |