怎样在公司内部创建代码库?

winterhan 2003-10-24 11:27:57
大家有什么好方法,在公司内部创建代码库,做到代码重用和积累?
...全文
519 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
winterhan 2003-11-20
  • 打赏
  • 举报
回复
现在在公司内部创建了一个代码库网站,由于公司不够重视,所以只能凭个人的热情和努力来支撑。
不过从做的过程中,倒是发现了不少以前设计时的问题,以前没有考虑别人使用这些代码。
winterhan 2003-11-20
  • 打赏
  • 举报
回复
困难很多:首先是来源少,公司没有相应的政策来保证一个项目先要从代码库中找可用的代码和项目完成后向代码库中输送可以重用的代码;其次是设计水平的问题,可以拿来重用的代码是需要一定的设计水平的,可平时做项目的时候很少考虑这些,项目做完代码基本上就没有多大用处了(如果是做产品,可能会好很多)。
看来引起公司的重视是最重要的。
bigpig 2003-11-20
  • 打赏
  • 举报
回复
建立一个代码库的方法我想只要按照规定的方式或使用相应的工具就可以完成的,但还有一个问题就是,这个库的概念需要公司的设计、开发人员的热情使用和领导的支持,如果只领导支持,开发人员根本不用你的库,或者说他认为这里的某些代码是“垃圾”,你怎么办?,他总是希望功能代码用他自己编的内容才放心,你怎么办?公司领导要是不支持你呢?你哪来的机器存和备份?,这些复用的代码是否都有"绝密"的标记?一般员工不能看,怎么办?
所以我认为小公司可能建代码库的成本比较高,而比较大公司建代码库就不是一个建库的问题了,需要相应的管理流程和企业气氛才能使这个库变得有生命力和发挥更大的效力。(从我个人的角度上来将是十分欢迎建代码库的,呵呵,上面是帮楼主泼泼凉水,提个醒而以。)
mrshiwei 2003-11-20
  • 打赏
  • 举报
回复
建议可以看看“青鸟构件技术标准规范”
http://www.sei.pku.edu.cn/research/standard/default.htm
虽然作为一个学术研究成果没有听说有什么实际应用,但是从中间反映出的管理思想和制定的规范还是有一定的可借鉴之处的。

另外,作为一个代码/构件库的建立、维护和发展,一定是跟你所在公司的知识管理策略有关系,获得公司高层支持非常重要,否则很难持久发展。
zhaokc2000 2003-11-09
  • 打赏
  • 举报
回复
这个问题要从两个会有完全不同结果的方面来考虑:

1.如果只是简单的建立代码库,那一些免费软件和口头上的流程足以应付小公司的代码存储复用问题。这样会导致开发规模增长困难,维护复杂。

2.如果是大公司,并且为复杂的代码复用、release发布和有效的项目管理等问题困扰的时候,建立代码库就不是“库”那么简单了。建立代码库上升到软件配置管理的高度,进而影响项目管理、设计过程和开发过程等各个关键环节。这时,就要站在公司产品管理和发展远景的角度,详细的制定合适的软件开发流程,贯穿软件开发整个生命期。然后,根据严格的流程和项目管理规范,制定合适的配置管理规范,进而搭建代码库操作规则和代码库,这就需要富有经验的专业人员来实施和极贵的软件支持。不过,能完全做好的公司屈指可数,而且没有一套完整的流程适合所有的公司,各个公司的情况千差万别,而且搭建这套流程系统的成本很高,成本回收期很长,大部分公司都是心有余而力不足,或者是木已成舟,或者是决策层不够重视,很难做好。

其实,建立代码库的前提就是有合理的流程,这是把软件管理和代码积累区别的标志,也是产品和公司持续发展的必要条件。

因“人”而异了。
klbt 2003-11-09
  • 打赏
  • 举报
回复
其实,最重要的是面向对象思想的掌握。
winterhan 2003-10-27
  • 打赏
  • 举报
回复
是呀,还是从基本的做起,一点一点积累。等积累到一定程度,可能会有思路的。
rolandash 2003-10-25
  • 打赏
  • 举报
回复
很不幸的是,说实话,目前这方面还没有什么很好的可靠的商业化工具可以推荐。国内杨院士的北大青鸟一直在注意这方面的开发,可惜离实际应用也相去甚远。

就目前的水平而言,应用的难点主要有二:一是软件组件接口规约还不够完备。一般大家可能觉得不就是几个软件接口嘛,signature定义好不就完了吗。对简单功能的组件可能还是可以的,但对于功能较复杂,特别是运行环境较为复杂的模块来说就不一样了。因为这时的“接口”不仅包含了参数、返回值,还包含了对变量语义的解释、调用次序、时间约束等许多隐含的条件。如果希望重用的程序员忽视了这些隐含的条件,那么重用的模块就会造成错误。而如果把这些隐含条件全部显式化到代码库里,开销自然大了,重用的可能也小了。

另一个难点是目前技术发展太快,开发和维护组件的速度根本跟不上新技术的出现速度。半年前的代码库,半年后可能就必须用新的语言和技术框架重写一遍。这样无疑等于在制造垃圾。

当然重用也不是绝对不能做。对于一些相对比较稳定的项目,比如银行主机系统,建立代码库还是有意义的。实现的时候,注意要从一些小的,基本的功能组件开始坐起,根据日常项目维护和开发的经验,逐步添加粒度较大的模块。添加大模块一定要谨慎,确定的确值得付出代价把它定义为重用模块再去做,不能随意想加就加。否则就是自找麻烦。写一个可重用模块付出的代价比写一个同样功能的普通模块的代价要大的多。

设计的复用就更麻烦了。我觉得目前切实可行的还是基于文档记录这种最初步最简单的方法吧。
winterhan 2003-10-24
  • 打赏
  • 举报
回复
大家对质量控制和代码分类有什么好的思路?
Fireox 2003-10-24
  • 打赏
  • 举报
回复
尽可能使用黑箱复用
winterhan 2003-10-24
  • 打赏
  • 举报
回复
xiaohaiz兄,我只是不想做一个项目时,什么东西都重新来过。项目做多了,肯定有很多可重用的东西,不管是经验、代码,或是设计方法等...但是,大多数时候,这些东西都在开发人员的脑袋里(或是他们的硬盘里)。怎样提炼出来?
tj_dns兄所说的比较可行,但是我想如果有一个很方便的发布系统,让开发人员可以方便的发布和检索代码库中的代码就更好了。
愉快的登山者 2003-10-24
  • 打赏
  • 举报
回复
1。按语言工具分类;
2。代码模块化,每个模块有独立的处理功能;
3。模块实行版本控制,要有功能说明和使用说明;要经过质量检验,进行入库;
4。提供代码库索引表,代码模块功能说明和使用说明查询文件;
5。使用代码模块要建立出库清单,统计代码模块重用情况。
xiaohaiz 2003-10-24
  • 打赏
  • 举报
回复
公司有钱,领导支持就买商业软件。
公司没钱,或者不被支持就用免费软件。
“代码重用和积累?”你想达到什么目的?
真正最应该被优先重用的是什么?是代码?还是工程师本身?
否则你想的代码库就是一个日积月累不断增大的RecycleBin.

1,268

社区成员

发帖
与我相关
我的任务
社区描述
软件工程/管理 管理版
社区管理员
  • 研发管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧