reusability - 重用与可维护性和易于测试

标签 reusability regression-testing

每个人都喜欢谈论可重用性。在我工作的地方,每当有人提出或测试一些新想法时,总是会出现可重用性的问题。 “我们希望最大限度地提高我们在这方面的投资,让它可重复使用。” “可重用性将以更少的工作带来更高的质量。”等等等等。

我发现,当一个可重用的组件或想法被引入时,每个人都会立即害怕它,并认为它是一个坏主意。他们说,一旦应用程序依赖它,它将无法维护,任何更改都将导致需要对使用它的所有内容进行回归测试。这里的人们特别指出一个组件,它已经存在了很长时间并且有很多依赖项和松鸡,因为我们不知道更改会破坏什么,因此无法更改。

我对这个投诉的回应是:

  • 换一个组件就好了
    有很多受抚养人是缓慢的,
    因为它迫使设计师
    认真思考这些变化。
  • 应该花时间获得
    首先是组件。推论:如果你发现需要一直改变它,它从一开始就不是很可重用,是吗?
  • 软件开发很难,需要工作。测试也是如此。你只需要这样做。

  • 不幸的是,人们在这些回应中听到的是“缓慢”、“时间”和“努力”。

    如果有一个神奇的“使这个可重复使用”的开关,我会很高兴我可以翻转我构建的东西,以便从管理层那里赢得巧克力点数,但事情不会那样工作。制作可重复使用的东西需要时间和精力,而且你仍然不能保证它是正确的。

    当交付似乎只会带来提示时,您如何处理“可重用性”的要求?

    最佳答案

  • 只有当某些东西真正被重用时,可重用性才有值(value)。在编写可重用的内容之前,请确保您有一些实用的重用案例。
  • 即使可重用库的维护难度是其自身的临时版本的 10 倍,如果在 10 个不同的地方使用可重用库代替临时版本,您仍然可以节省总体维护费用。
  • 关于reusability - 重用与可维护性和易于测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2859567/

    相关文章:

    c++ - 使开关繁重的功能更具可重用性

    php - 如何跨多个域重用代码?

    postgresql - 如何在 postgres 扩展的 Makefile 中为 installcheck 设置用户?

    testing - 初学者学习 QTP 的最佳书籍/资源

    python - mercurial:在每次提交时自动运行远程回归测试

    Android 应用程序——我们可以在运行时重用图像吗?

    architecture - 您如何构建可重用库?

    c++ - 数值回归测试

    TypeScript:在接口(interface)定义中重用函数定义

    python - 在 Python 中对整个应用程序进行回归测试