关于Common Library的一些想法

by Richard 20. October 2009 23:39

目的:

建立和维护一个公司级的可复用公共库,主要为了3个目的:

  1. 提高开发效率,让开发人员从系统级功能的开发中解放出来,把工作重点放在业务级功能的开发。
  2. 提高代码质量,开发人员写的代码越少了,问题就越少。
  3. 改善不同团队,不同项目之间代码风格的一致性,促进团队之间的交流与合作。

 

内容:

主要包含这几种类型:组件、控件、函数库、工具、示例,以及从项目中抽象出的可复用模块。

其实可以考虑把公司的开发规范,代码检查标准也纳入Common Library中一起管理。

 

开发:

当识别出有新的可复用的item,Common Library管理小组要进行讨论,确定基本方案;然后指定负责人,按照要求完成开发,并对验收检查后才能入库。

  

测试:

Common Library中的每一项都是要经过严格的测试后才能发布出来的,测试用例和测试报告都要保留存档,方便检查和以后参考。

可以借助一些单元测试工具,使得测试用例可复用,并自动执行大部分测试,提高测试效率。

 

文档:

主要包含4个文档:

  1. 功能文档:实现了那些功能和特性(feature),还有哪些没有完成的功能(to do list),还有哪些bug没有修复(bug list),版本历史记录(history)。
  2. 使用手册:什么情况可以使用(when to use),从哪里获取最新版本(where to use),如何使用(how to use),和一些注意事项(tip)。
  3. 设计文档:包括Class Diagram,Class Reference,Database ER Diagram。
  4. 测试文档:主要包含测试用例和测试报告。

   
维护:   

配置管理方面也应该分开两个代码库:开发库和产品库。 开发库只有参与Common Library开发的人员可以访问,而产品库是公开只读权限给所有人。只有测试通过的代码,而且相应的文档也同时更新了,经过管理组的同意才能更新到产品库。更新产品库后要发布消息给大家,并告知更新的内容。
要建立一个查询系统,让大家可以方便的查找想要的内容。
定期检查,了解使用情况,收集新需求:在Code Review Checklist中加入对Common Library使用的检查,在项目总结中加入对Common Library使用情况的总结、改进意见、以及推荐项目中可被纳入Common Library的新内容。

 

风险:

执行前需要一个深远的考虑和计划。否则不易执行或不能长久坚持下去。
如果Common Library有更新或发布了新版本,要考虑是否对已经在运行的系统有影响,再决定各个系统是否应用更新。

 

职责:

从上面看下来,要把Common Library建设好,需要做很多的工作。公司应该有专门的人员来做这个工作,建立起相关的组织来管理和维护它。

公司越大,Common Library的意义就越重要,同时也越难管理。如果公司真的要扩大3倍,安排一两个人专门做这个应该不过分。       
   

 

其实Common Library的关键不是建立一个代码库,而是需要相应的管理流程和公司气氛才能使Common Library变得有生命力和发挥更大的效力。

Tags:

Common Library

Comments

8/1/2010 1:36:27 AM #

hemorrhoid surgeon

Very good article. Also, just thought I'd let you know I stumbled upon your write-up as a result of Bing when I was searching for gas mileage tips for 2008. Haha

hemorrhoid surgeon | Reply

Add comment


(Will show your Gravatar icon)

biuquote
  • Comment
  • Preview
Loading



Copyright © 2009 APJ Software

最新评论

Comment RSS

公告

欢迎使用APJ Blog!

日历

<<  September 2010  >>
MoTuWeThFrSaSu
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

View posts in large calendar