每个人都喜欢谈论可重用性。在我工作的地方,每当有一些新想法被抛出或测试时,可重用性的问题总是会出现。“我们希望最大化我们在这方面的投资,让我们让它可重复使用。” “可重用性将以更少的工作带来更高的质量。” 等等等等。
我发现,当一个可重用的组件或想法被引入时,每个人都会立即害怕它,并把它当作一个坏主意写下来。他们说,一旦应用程序依赖它,它就无法维护,任何更改都将导致需要对使用它的所有东西进行回归测试。这里的人们特别指出了一个组件,它已经存在了很长时间并且有很多依赖项和抱怨,因为我们不知道更改会破坏什么,所以它变得不可能改变。
我对这个投诉的回应是:
- 对具有许多依赖项的组件进行更改缓慢是件好事,因为它迫使设计人员真正考虑更改。
- 首先应该花时间让组件正确。推论:如果您发现需要一直更改它,那么它从一开始就不是非常可重用的,是吗?
- 软件开发很困难,需要工作。测试也是如此。你只需要这样做。
不幸的是,人们在这些反应中听到的是“缓慢”、“时间”和“努力”。
如果有一个神奇的“使这个可重复使用”的开关,我会很高兴我可以翻转我构建的东西,以便从管理层那里赢得布朗尼积分,但事情不是这样运作的。制作可重用的东西需要时间和精力,而且你仍然不能保证它是正确的。
当交付它似乎只带来抱怨时,您如何处理“可重用性”请求?