几年前,我被告知有关代码重用的研究.显然,人们发现,平均而言,程序员在搜索要重用的代码时会有7分钟的窗口.如果他们在该窗口中找不到适合他们需求的代码,他们就会编写自己的代码.
这是在需要仔细管理代码以供重用以确保您可以在窗口中找到所需内容的上下文中介绍的.
您(个人和组织)如何管理您的源以使其更容易重用?您是否专门维护重用库?如果是这样,您如何对其进行索引以最大化您的命中率?
一个复杂的问题:
代码的某些部分可以概括为库或API.我们有一个公共图书馆,可以及时了解常见问题的解决方案.通常:验证,缓存,数据访问类,日志记录等......
某些部分是特定于应用的.它们不容易概括.我们在HowTos中转换它们并进行内部演示.代码也通过使用易于浏览的SCM(在我们的例子中为SVN)进行回收.
我们还有生成代码的工具,一方面无法回收,另一方面它总是相似的(想想调用存储过程).
结对编程也是传播现有解决方案知识的有用方法.我们在可能或适当时使用它.
最后一种技巧是学费.每个编码员都有一个导师可以参考.由于导师很少,他们之间有很多共享,这种知识可以自上而下的方式传播.