网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  hibernate为什么成功的     
  文章作者:未知  文章来源:水木森林  
  查看:77次  录入:管理员--2007-11-17  
 
  written by robbin

http://www.hibernate.org/38.html

这篇文章是gavin king写的,非常有趣,充分体现了hibernate的设计理念,我粗略的意译如下:

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

1、飞快的版本发布

保持活跃的开发速度,经常进行版本发布,甚至几天之内就从前一个版本开发到下一个版本。这样是保证软件远离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网页

(译者按:cowiki是hibernate网站用的一个网站内容发布软件)

copyright 2003 hibernate china
 
 
上一篇: hibernate投入jboss怀抱    下一篇: hibernate中的过滤集合类filtering collections
  相关文档
java中的格式化输出(类似c语言的printf) 11-17
struts构建文件上传(八) 11-17
spring在mvc层解决jpa的缓迟加载问题 11-17
java web应用中任务调度解析(1) 11-17
在ejb中直接利用jdbc读取数据库记录 11-17
j2ee综合:开发j2ee应用应遵循的几点原则 02-28
java技术正在迎来“又一次革命”的风暴 11-16
j2me基础入门教程 11-17
java servlets技术 11-17
高级图像处理图像i/o api rc 1.0 11-17
sun为firefox3.0与ie提供了更好的java支持 03-26
vector、arraylist、list使用深入剖析 11-19
情人碰面的问题.java代码 11-17
linux7.2+postgres7.2+resin2.0.4__jsp安装 11-20
为什么程序员不应调用“sun”包 11-17
什么是servlet ? 11-17
你真的掌握j2se了么-j2se学习标准篇 11-16
使用技巧:通过java.net包建立双向通讯 11-16
[java100例]047、使用javamail发送邮件 11-17
java 字符编码问题 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息