你如何组织你的代码库?

Bla*_*asp 7 organization reusability package-design

我很想知道人们如何组织他们的代码库,特别是关于可重用组件.我在下面以OO术语进行讨论,但我对如何组织其他类型语言的库感兴趣.

例如:

  • 您是否适合所有类课程项目,或者您更喜欢将所有内容保存在单个项目中?
  • 您是否重用了预先构建的DLL,或者您是否在当前工作中包含以前项目中的各个类?如果是个别课程,您是否在项目之间共享它们以确保所有课程都保持最新或允许分支?
  • 你的可重用元素有多大?他们有多关注?他们是如何关注的?
  • 您通过首选实践获得了多大程度的重用?

等等

编辑

我不是在寻找具体的指导,我只是对人们的想法和实践感兴趣.我特别感兴趣的是在不同项目之间重用代码,而不是在单个项目中.(不幸的是,这里使用"项目"具有误导性 - 我的意思是在为客户进行的实际项目之间重用,而不是Visual Studio意义上的项目.)

Von*_*onC 6

它通常可以通过部署注意事项来指导:

您将如何部署(即您将在生产机器上复制什么)?

如果您正在部署的是打包的组件(即dll,jar,war,...),那么将"代码库"组织为一组打包文件是明智的.
这样,您将直接使用-dll,jar,war,......进行开发 - 这将部署在生产平台上.
这个想法是:如果它适用于那些打包的文件,它仍然可以在生产中使用.


在不同项目之间重用代码,而不是在单个项目中重用.

我认为在"组件"方法中这种重用更容易(就像问题" GIT中的供应商分支 "中讨论的那样)

在40多个当前项目中,我们实现了:

  • 通过系统地将任何纯技术方面隔离到独立框架(通常是日志框架,异常框架,KPI - 关键性能指标 - 框架等)来进行技术重用.
    这些技术组件可以重复用于其他所有项目.
  • 功能重用通过设置一个清晰的应用程序架构,以便将任何功能域(给定业务和功能规范)划分为明确定义的应用程序.例如,这通常涉及总线层,该总线层也是暴露由任何其他项目重用的服务的很好的候选者.

简介:
对于大型功能域,单个项目不可管理,良好的应用程序架构将导致自然代码重用.