什么代码是重复使用的候选人?

Ben*_*een 3 agile code-reuse

想象一下,你为一家小型精益软件公司工作.您知道公司未来的竞争力在于拥有良好的可重用代码库.管理公司的再利用政策以确保您今天的交付,同时为未来提供支持,这将是非常重要的.

在我看来,在业务中编写可重用代码有两个原因; 1)在公司内共享以提高未来的速度和效率2)在网络上发布和其他人将有助于改进代码(从某种意义上说是众包).

开发人员应该始终运用常识来重复使用.但是为了从管理角度处理这个问题,我想要一些整体的代码重用指南,以确保我们现在和将来都具有竞争力.这些指南应鼓励开发人员询问"我的代码是否为重用候选人?".这些指导方针应该说什么?

我最初的想法:在最低级别编写可重用的代码是不值得的(例如,我有一些内联代码在字符串的末尾添加了一个"s"),这个代码的代码太多了.甚至筛选,发现有人已经做过了.在最顶层(即应用程序)编写可重用代码也是不值得的,因为您的客户报告应用程序最终会被通用化为SQL客户端 - 对大多数用户来说是无用的.

可重复使用代码的主要障碍:除非您知道它存在,否则不能重复使用它; 信任 - 它已经完成,但你相信吗?使代码通用/可重用(并记录)的初始时间.

Bri*_*new 8

您可以花很长时间尝试重复使用某些内容,而无需重复使用它.因此,我通常遵循这样的格言,即只有在重复使用时才能重复使用(有一些例外情况会突出).

通常情况下,只有当你来重复使用客户所说的"我希望它做同样的事情,除了......"或类似的东西时.只有在那一点上,您才能了解可重用代码的哪一部分是可重用的,以及需要参数化的内容(例如,通过策略模式或类似方法)

因此,我不倾向于将代码视为可重用的,除非它真的被重用:-)