gpt4 book ai didi

roi - 哪些软件开发实践提供最高的投资返回率?

转载 作者:行者123 更新时间:2023-12-01 08:21:02 30 4
gpt4 key购买 nike

我组织(开发API的中间件)中的软件开发团队正在准备一次采用至少一种最佳实践。列表中有以下内容:

单元测试(实际意义上),
自动化的单元测试
测试驱动设计与开发,
静态代码分析
持续集成能力等。

有人可以请我指出一项研究,该研究表明采用哪种“最佳”实践具有更好的投资回报率,并可以更快地提高软件质量。有书房吗?
这应该有助于我(支持我的主张)确定这些实践的优先级。

最佳答案

“一项研究表明采用哪种“最佳”实践具有更好的投资回报率,并且可以更快地提高软件质量。”

那不是很好!如果有这种事情,我们都会做,而您只需在DDJ中阅读即可。

既然没有,您就必须做出痛苦的判断。

没有“为8%的ROI做X”。一些技术需要大量投资。其他可以免费启动。

  • 单元测试(真正意义上的)-免费-ROI立即开始。
  • 自动化单元测试-不是免费的-需要自动化。
  • 测试驱动的设计与开发-免费-ROI立即开始。
  • 静态代码分析-需要工具。
  • 持续集成功能-价格低廉,但不是免费的

  • 您不知道ROI。因此,您只能优先考虑投资。有些事情比其他事情容易让人接受。您必须考虑您的团队采用该技术的意愿。

    编辑。单元测试是免费的。
  • “本可以花费时间编码测试来编码列表中的下一个功能”
    诚然,测试意味着开发人员要做更多的工作,而支持则需要更少的调试工作。我认为这不是1:1的交易。花更多的时间来编写(和通过)正式的单元测试,大大降低了支持成本。
  • “遗留代码如何?”
    关键是免费是管理成本的问题。如果您将单元测试添加到旧代码中,那么成本并不是免费的。所以不要那样做。相反,添加单元测试作为维护,错误修复和新开发的一部分-然后它是免费的。
  • “交易是个问题”
    以我的经验,这只是一些可靠的示例,除了代码之外,管理部门还对单元测试有需求。不需要召开全体会议来解释需要单元测试,这里是示例。然后,它要求每个人都将其状态报告为“笔试/通过考试”。您还没有完成60%的工作,在315个测试中占232个。
  • “如果它适用于给定的项目,则平均仅免费”
    永远是对的,好的观点。
  • “需要更多时间,时间对企业来说不是免费的”
    您可以编写几乎无法工作且需要大量支持的不良代码,也可以编写不需要并且无需大量支持的良好代码。我认为花时间使测试真正通过可以减少支持,维护和调试成本。以我的经验,单元测试对重构的价值极大地减少了进行体系结构更改的时间。它减少了添加功能的时间。
  • “我也不认为立即获得投资回报”
    实际上,一个单元测试的投资回报率是如此之高,以至于难以描述。通过的第一个测试成为您可以真正信任的想法。仅拥有一个值得信赖的代码段可以节省时间,因为您不必花很多时间思考。

  • 战争故事

    这周我不得不完成一个批量数据加载器。它验证并加载了我们从客户那里接受的30,000行文件。我们有一个不错的库,可用于上传一些内部开发的文件。我想将该模块用于客户文件。但是客户文件的差异足够大,以至于我可以看到库模块API并不真正适合。

    因此,我重写了API,重新运行了测试并检查了更改。这是一个重大的API更改。很多破损。大量查找源代码以查找每个参考并进行修复。

    在运行了相关的测试之后,我将其检入。然后重新运行我认为不密切相关的测试。哎呀它失败了。它正在测试不属于API的内容,但也失败了。固定。再次签入(延迟一小时)。

    如果没有基本的单元测试,则可能会导致质量检查工作中断,需要错误报告,需要调试和返工。看一下工作:1小时的质量保证人员发现并报告错误+ 2小时的开发人员时间来重建质量保证方案并定位问题+ 1小时确定要解决的问题。

    使用单元测试:1小时以了解测试未通过,并修复代码。

    底线。我写测试花了3个小时吗?否。但是我花了三个小时才将项目投入到编写测试中。

    关于roi - 哪些软件开发实践提供最高的投资返回率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/322807/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com