这篇博客在我的草稿从 2017 放到现在,我做了三年的公共组件,我觉得我现在能来发布这篇笔记。本文将来和大家讲龙华大佬告诉我的公共组件 CBB 建设相关知识

公共组件 CBB 绝不是 .NET C# 的专利,尽管 C# .NET 下的 CBB 构建是最为便捷的。在其他的语言,甚至是其他领域,如建筑和制造等,也是可以用上公共组件 CBB 建设的。下面以一个案例来告诉大家

国内某大型的科技公司审查了自己的制造过程,发现:

  • 仅螺丝一项,他们就用了 100 多种逻辑
  • 二极管就用了 30 多种

而在经过调整之后,有如下的好处

  • 因为减少零件的种类,可以加大通用器件采购的批量,大批量采购可以获得更低的价格
  • 采用行业通用的器件,遇到问题时可以获取行业的技术支持

以上的案例是从制造业的角度,可以更为清晰的看到优化的效果。在软件团队,随着开发团队规模的增加,咱会遇到如下问题:

  • 开发团队数量、开发人员数量需求急速膨胀
  • 人均效率不增反降
  • 类似的技术问题,在不同的项目或不同团队中,被不同的人反复解决
  • 类似的错误,在不同的产品,不同的显示,不同人员重复出现
  • 面对客户小批量的个性化需求,进退两难

解决以上问题的最佳方法是推动 CBB 的建设,假如有 CBB 的存在,多个开发团队可以有更多可以共用的资源,此时开发效率会和团队规模正相关。类似的技术问题可以快速通过公共组件解决,公共组件踩过的坑,可以通过调用公共组件绕过

个性化的定制需求,可以通过快速组合多个公共组件实现

从道的层面来讲公共组件的建设:

  • 公共组件的成立不一定需要自上而下的推动,可以由开发者自身开始积累
  • 不要过度追求公共组件的数量,随缘而做
  • 组件之前定义的是规范和标准,而不是耦合
  • 无论大小,都可成为组件,只要有开始就好
  • 开发工具本身也是组件

从术的层面来讲公共组件的建设:

从使用公共组件开始,尝试从 NuGet 上获取第三方制作的公共组件,实现功能。养成使用公共组件的习惯。从伸手党转为贡献者,先从可以公开的公共组件,和业务无关的公共组件开始积累,可以尝试推送到 NuGet.org 上,全世界的开发者都可共用

搭建自己团队内部的 NuGet 服务器,只要能独立的模块,都可以成为 NuGet 包,推送到自己的 NuGet 服务器

多个工具类以及聚合的功能可以积累成为底层公共组件库。有了底层公共组件库之后,可以不断进行优化,包括 API 和性能等层面分别进行优化。尝试迭代公共组件库

制作公共组件制作工具,降低公共组件制作门槛

建设了 CBB 公共组件,可以很大程度提高经验、技术、知识的共享和重用,提升整个团队的技术水平


本文会经常更新,请阅读原文: https://blog.lindexi.com/post/%E5%90%AC%E9%BE%99%E5%8D%8E%E8%AE%B2%E5%85%AC%E5%85%B1%E7%BB%84%E4%BB%B6-CBB-%E5%BB%BA%E8%AE%BE%E7%AC%94%E8%AE%B0.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

如果你想持续阅读我的最新博客,请点击 RSS 订阅,推荐使用RSS Stalker订阅博客,或者收藏我的博客导航

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系

微软最具价值专家


无盈利,不卖课,做纯粹的技术博客

以下是广告时间

推荐关注 Edi.Wang 的公众号

欢迎进入 Eleven 老师组建的 .NET 社区

以上广告全是友情推广,无盈利