0

我一直在考虑为我所在组织的所有内部开发软件建立某种库。我想收集优秀的 SO 人可能对这个话题有的任何想法。

我想,向开发人员灌输编写可重用代码的好处有什么意义,如果在下一个项目中开发人员做的第一件事是文件 -> 新的,因为缺乏对哪些代码已经存在可重用的了解。

作为一个额外的好处,我认为只有这样的库会鼓励开发人员在编写代码时更多地考虑可重用性

我想让这个库尽可能简单,也许我唯一的两个要求是:

  • 搜索设施
  • 可用于多种类型的组件:程序集、Web 服务等

我看到每个资产/组件所需的基本信息是:

  • 名称和版本
  • 描述/目的
  • 依赖项

你会记录更多信息吗?

什么是最好的平台,即维基、论坛等?

是什么让像这样的软件库成功与不成功?

非常感谢所有想法。

谢谢

编辑:

发布后发现这些类似的问题:

您如何确保正确重用代码?

您如何促进在您的组织中使用共享组件?

4

1 回答 1

5

听起来您的组织中没有可用的中央代码存储库。取决于您所做的事情,这可能是因为安全限制导致知识的兼容性,外部供应商代码包含在部分/所有解决方案中的事实,或者您的公司尚未看到让人们重用的好处,重构,并宣传这样一个存储库的好处。

我在多家公司看到的解决方案的共同属性是多管齐下的方法。

  1. 在某种程度上从管理层购买。通常,这个想法会引起 CTO/CIO 的共鸣,他们声称这是一件好事,并且不会给它任何资金来资助它,但如果他们知道有人会在之前支持这个想法,他们就不会妨碍你他们开始征集代码并将其整合到某个地方。
  2. 一些项目列表和可用英文提供的抵押品。在 wiki、sharepoint 列表、源存储库中的文本文件中看到了这一点。它们都具有某种前端搜索服务器的共同属性,允许全文覆盖解决方案的描述。
  3. 二进制文件和/或代码的一些公共共享或存储库。通常,大型组织针对许多不同的环境具有不同的身份验证/授权方法,共享单个源存储库可能不切实际(或在逻辑上可能) - 不要在这方面挂断 - 只是试着明白这一点有一个众所周知的共享/目录/存储库适用于您的组织。
  4. 始终确保将某人列为联系人 - 没有人会在不与之前的所有者交谈的情况下获取代码并在生产中运行它 - 如果您没有人,他们可以立即开始提问他们可能会继续点击文件->新建。

我见过不成功的属性?

  1. 每个工程师每个时间段提交 N 次 = 大量废话开始出现
  2. 没有评级/反馈的方法。如果没有办法收藏/评价/给出一些指标,让奶油上升到顶部,你不会经常回去搜索它,因为你无法从其他人的代码中受益t 真的很好。
  3. 缺少反馈/电子邮件链接,可以直接将问题与作者联系到他们的电子邮件中。
  4. 缺乏有机分类的能力。每当有一些预先确定的超级严格的层次结构或类别列表时,一切都会以“其他”结尾。如果你使用标签或类似的,你可以避免它。
  5. 要求一些设计文档随附它是一种严格的格式,代码不被接受 - 没有人能就设计文档的“集中”格式达成一致,也没有人在需要时提交。

只是我的想法。

于 2009-12-21T01:51:29.063 回答