Java开源项目Hibernate获得成功的十大理由

下面是对Hibernate开发工作的个人想法,正是这些工作使得Hibernate如此迅速的得到广泛的欢迎。

  1、飞快的版本发布

  保持活跃的开发速度,经常进行版本发布,甚至几天之内就从前一个版本开发到下一

<script language=JavaScript> ad1= "魔镜教你穿透爱情"; link1= "http://sms.sina.com.cn/docs/c/xlmj.html"; //左上 ad2= "联想笔记本Y200热卖中"; link2= "http://noshow.adsina.allyes.com/main/adfclick?db=sina&bid=4120,19510,19538&cid=0,0,0&sid=19940&advid=56&camid=4340&show=ignore&url=http://www.lenovo2008.com/notebook/y200/?wodoopro=sinaitpiptext"; //右上 ad3= "最大的2G免费邮箱!"; link3= "http://noshow.adsina.allyes.com/main/adfclick?db=sina&bid=3633,17499,17523&cid=0,0,0&sid=17877&advid=1293&camid=3834&show=ignore&url=http://mail.sina.com.cn/freemail/index.html"; //左下 ad4= "不信你的IQ比我高!"; link4= "http://mms.sina.com.cn/mzjc/index.html"; //右下 //浏览器类型变量 var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1; //ie内容 function IEad(){ adCode = ' ' +' ' document.write(adCode); document.getElementById('ad_note').SetVariable("ad1", ad1); document.getElementById('ad_note').SetVariable("ad2", ad2); document.getElementById('ad_note').SetVariable("ad3", ad3); document.getElementById('ad_note').SetVariable("ad4", ad4); document.getElementById('ad_note').SetVariable("link1", link1); document.getElementById('ad_note').SetVariable("link2", link2); document.getElementById('ad_note').SetVariable("link3", link3); document.getElementById('ad_note').SetVariable("link4", link4); } //ns内容 function NSad(){ adCode = '
' +'
' +''+ ad1 +'' +' ' +''+ ad2 +'' +'
' +'
' +''+ ad3 +'' +' ' +''+ ad4 +'
' document.write(adCode); } //主过程 if(InternetExplorer == true){ IEad(); }else{ NSad(); } </script>
个版本。这样是保证软件远离Bug的最好的办法,也可以让用户感到很放心,确信Hibernate的开发十分活跃,另外这样做也有一大好处,就是可以发现哪些功能是用户真正需要的。

  2、回归测试

  我想现在整个Java社区一定都很重视自动回归测试。如果软件的功能和设计有比较大的修改,那么一个综合性的test suite对于软件可维护性和稳定性来说实在是太重要了。我们应该有这样的意识:如果对软件的一个新功能没有进行回归测试,我们根本就不该去做它。

  3、把一个功能做到最好

  要么不做,要做,就一定做到最好。那些我们做不到最好的功能,我们根本不去做,扔给其他软件去做吧。

  4、避免过度设计

  浪费大量的时间和精力进行软件功能的抽象和扩充软件的灵活性,还不如多花点时间来解决你的用户面临的实际问题呢!简单一点! 软件能跑起来就OK,不要尝试去解决你的用户根本不关心的问题。就算你的软件设计的不够优雅也没有关系,反正还是initial阶段嘛!以后再 refactor,你应该关注的问题是及时的把有用的功能给做出来。

  5、集权

  在你需要由民主投票来下决定之前,至少你已经把软件轮廓做好了。软件开发需要由一两个开明的人来领导,这样可以保证软件开发的连贯性而不至于产生太大的分歧,可以保证开发团队集中火力把要实现的功能做到最好。我觉得,OSS软件最大的风险就是意见不统一,摊子铺的太大,结果最后搞的什么都没有做好。

  (译者按:非常赞同,凡是成功的OSS软件,都是在某个牛人已经把软件做好了之后,发布出来,然后由大家往里面添加功能的,并且在牛人的领导下不断进步。缺乏牛人的OSS软件都不算很成功,比如Mozilla)

  6、文档

  没有什么比文档更重要的了。如果你的用户不知道你的软件有这么一个功能,就等于没有这个功能,干脆把它去掉得了,省得给源代码增加复杂度。

  7、避免标准化

  好的标准可以带来软件的互用性和可移植性,坏的标准能够窒息软件创新!“支持XXX标准”根本就不是真实的用户需求,特别是当这个XXX标准是那些在其位不谋其政“所谓”的专家委员会制订出来的。(译者按:莫非指Sun,IBM等几个big name?)最好的软件是在不断的尝试,不断的出错,不断的经验积累的过程中产生的。 事实上的标准往往更加贴近用户需求。

  8、10分钟之内把Hibernate跑起来

  潜在的Hibernate的用户在他们下载了Hibernate,第一次使用的时候根本就不可能花半个小时那么多时间来安装、配置和 troubleshooting,他们早就丧失了对Hibernate的兴趣了。我们的口号就是新用户(假设有足够的JDBC知识)5分钟之内把 Hibernate的Demo跑起来,而他们能够在1个小时之内写出“Hello World”式的最简单的Hibernate程序并且正常运行。

  9、开发人员的责任感

  用户总是不可避免的碰到问题,开发团队有责任有义务提供帮助。用户让我们知道了文档的漏洞,用户让我们知道了测试用例的小bug。此外,没有用户来用我们的Hibernate,我们还开发它做什么,不是浪费时间吗!

  有个关于bug的笑话:用户根本不介意发现新功能的bug(译者按:Windows的用户好像都是如此),只要你能迅速的改掉bug。“责任感”意味着 bug修复应该在1周之内。从收到bug报告到bug修复代码提交到CVS上要做到平均在24小时左右,这才是一个理想的目标。

  10、易用的、可更新的wiki网页

  出处: hibernate.org

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值