您的位置:首页 > 其它

开源软件(库)在项目中的应用

2007-11-15 10:51 375 查看
开源社区越来越成熟,开源软件(库) 也越来越多。例如: firefox, apache, emule......这些都是大家比较熟悉的软件。这些开源的软件(库)以公司,团体,个人等多种形式存在。
开源软件(库)对项目来说意味着什么???我们应该怎么来对待???
1) 在项目中大可应用这些开源的技术,全盘吸收, 即使这些软件(库)存有BUG。
2) 简单研究,不做深入研究( 在现实项目中深入研究几乎是不太可能的 ),是否适合自己的项目,研究大概思维逻辑,在此基础之上,构建自己的程序框架,代码结构。
上述的做法是我们在项目中最普遍的两种做法,这两种做法各有优点和缺点,在这里我只是占在一个程序员的角度来看待这个问题,也许不是很全面,也许有些错误。欢迎大家来讨论。
第一种做法: 建立在开源软件(库)有足够大的广的应用基础之上,如果是那些没有什么广泛应用的软件(库)的话,借鉴一下里边好的思想,还是很有用处的。但是,即便是在怎么好的应用,怎么好的程序也有BUG在里边,当然这个BUG对项目来说可能是致命的,也可能无所谓。那么在这个时候我们该怎么办呢,花大力气解决还是放弃,这些都要在项目开始都要做好准备,做好最坏打算的准备。任何事物都是两方面的,这种做法最项目初期来说是最快见到成果的,而且也是比较稳定的(在项目后期就。。。)。开源软件(库)在代码维护上来说也是相对容易的,因为好多开源软件(库)的文档都比较详细。
第二中做法: 只是简单研究,可能只看个皮毛出来。即使研究透彻,我们在重新构建新的代码结构都是要花很长时间和很大经历的,而且代码写完后还有一段漫长的稳定时期。代码在后期维护也是困难的( :) 如果代码初写者是牛人就令当别论了。 )。这样做法使代码的可控性很高(一人维护),出了问题也能在很短的时间内解决。
两种做法各有优缺点,站在不同角度,结论会不一样。有一件事情是都不可避免的---研究别人代码,这是个很痛苦的事情。也没有别的办法,只有硬着头皮看了。就和我看英文资料,文档一样,不懂也要硬着头皮看(偶的英文水平极差 :) )。第二种做法的可以学到很多东西,对个人的成长很有帮助。
这些是在工作中的一些自己的看法。希望和大家讨论。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: