代码可重用性:值得吗?

Xet*_*ius 15 language-agnostic code-reuse

我们都编写可重用的类和代码.

我们考虑到可配置性,允许我们一次又一次地重用这个梦幻般的新类.

我们告诉老板们,现在花这个额外的时间可以节省我们的时间和金钱.

但实际上,对于我们这些不写第三方库的人来说,把我们的时间花在整个应用程序上,那么你花费额外时间编写重用的那一课实际上会在另一个项目中重复使用多少次?

您在图书馆中有多少个定制课程将在多个项目中使用?

lep*_*pie 27

我的常用经验法则是:

  1. 如果您重复一次,请复制它.
  2. 如果你重复两次,重构它.

  • 我会将其重构为"如果你重复一遍,重构它." 您可能不是其中一个副本的唯一维护者.当他们失去同步时,真的很痛苦. (6认同)
  • +1 - 重用增加了复杂性,因此将一个小部分作为单独的函数提取有时比两个副本更多的代码.但是,应该在首次重用时提取复杂代码. (4认同)

Jor*_*ans 18

好问题!
我认为"重复使用设计"是错误的方法.我发现我编写的代码工作,干净和漂亮是可重用的.重复使用的实际设计仅在代码第一次实际重新使用时发生!

花时间预先尝试使某些东西可以重复使用往往是浪费时间,因为你永远不知道需要重新使用什么.

话虽这么说,在我的工作中,我们有一系列库(大型,500MB或更多)可以重复用于几乎每个项目 - 主要是特定于域的东西.


Rob*_*obS 11

leppie写道:

我的常用经验法则是:

  1. 如果您重复一次,请复制它.
  2. 如果你重复两次,重构它

我想补充一点,确保在代码的两个部分都添加了注释,以指示在出现错误时重复.您不希望将其固定在一个部分而不是另一个部分(BTDTGTT).