基础开发框架维护经验
2018年05月12日


一、基础开发框架维护--问题总结


可能遇到的问题如下:

  1. 基础框架更新后,其他使用方 无法及时更新。比如基础框架改了几个BUG,使用方很可能无法及时更新。

  2. 当使用方的基础开发框架版本,大幅落后于最新版本之后,可能很难更新到最新版本(改动很大,兼容性也需要测试)。

  3. 当有很多应用使用的很旧版本的开发框架时,开发框架要考虑到老版本的兼容性,会影响到开发框架的架构和重构。

  4. 如果基础开发框架是基于开源框架二次开发的,需要经常和开源框架保持同步更新升级,否则会落后于开源版本、错过很多重要更新。


二、基础开发框架开发--相关经验和解决方案


1、定原则,公司内的开源框架,需要遵循下列设计原则:

  1. 开源框架要制定版本发布计划,每个版本要有详细的更新内容和升级手册等,对老版本的兼容性要经过严格的测试和验证,每次版本要建分支,发布时要打tag,修改的代码,都要按修改内容提commit注释,如果是bug修复,要给出bug的出处和描述,每次发布新版本,要列出这个版本内所有的commit内容、方便使用者查阅。

  2. 尽量保证向前兼容,如果有不兼容处,一定要特别说明,包括原因和升级方法。

  3. 尽量保证平滑升级,旧版本的用户,能以最简单的方式完成升级(比较改个版本号就完成升级)。

  4. 每次发布,都要通知到各个使用方;如果是重要的bug修复、希望使用方尽快升级,应该发出重要升级通知,务必联系各个使用方,和领导沟通,明确升级的截止时间。

  5. 列出基础框架的所有使用方,及其使用的版本,随时掌握使用者的情况,如果发现某个使用方版本严重 落后于最新版本,则提醒升级。

  6. 基于开源框架的二次开发,需要合并开源作者的更新内容,在发布文档中,也需要详细说明更新内容以及列出每个commit。


2、完善配套设施和制度

  1. 要维护好 使用文档、开发者文档、发布和升级文档,而且这些文档,要能体现版本和修改记录。

  2. 需要各个部门或团队的领导支持,必要时能发起重要通知,敦促各个使用方升级。

  3. 使用好 代码和issue 平台,大家可以提交bug\enhancement\feature\question,在上面反馈问题、贡献代码。

  4. 建立使用者的多人在线交流群,使用者相互交流经验,新手也可以在这里向大家提问。

  5. 完善基础框架自身的测试流程,建议每次发布版本,附带一个测试报告,报告中列出测试用例和测试覆盖率等指标。