每个人都喜欢谈论可重复性。在我工作的地方,每当有一些新想法被抛弃或测试时,总会出现可重复使用的问题。 “我们想最大限度地利用我们的投资,让我们可以重复使用。” “可重复性将带来更高的工作,从而带来更高的工作。”等等等等。

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

我对此投诉的回应是:

  1. 更改为具有许多依赖者的组件很慢是很好的,因为它迫使设计师真正思考这些变化。
  2. 首先应该花时间将组件正确。 CROLLARY:如果您发现需要一直更改它,那么它从来都不是可以重复使用的,是吗?
  3. 软件开发很难,需要工作。测试也是如此。你只能做到。

不幸的是,人们在这些回答中听到的内容是“慢”,“时间”和“努力”。

我会很乐意,如果有一个魔术“使这种可重复使用”的开关,我可以在我的构建中翻转以从管理层赢得布朗尼积分,但是事情并不能那样起作用。可重复使用的东西需要时间和精力,您仍然不能保证使它正确。

交付时,您如何处理“可重复使用”的请求,似乎没有带来投诉?

有帮助吗?

解决方案

  1. 只有在真正重复使用的情况下,可重复使用才是值得的。在编写可重复使用的内容之前,请确保您有一些实际的重复使用案例。

  2. 即使可重复使用的库比自身的临时版本更难维护10倍,但如果使用可重复使用的库代替10个不同位置的临时版本,则仍然可以节省整体维护。

其他提示

可重复使用性是使代码可重复使用类似的行为或“ IS_A”关系。如果您只想通过一次又一次地看到它们的使用来重复使用代码块,但是它们没有类似的特征,那么最好让它们独自一人宽松地耦合。这样,我们可以更加灵活地修改以后。

我们经常要做的一件事是使用版本并避免不断重新测试。仅仅因为有一个新版本的常见代码并不意味着一切都必须立即使用新版本。当某些原因出于其他原因进行更新时,请更新到新版本的通用代码。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top