为什么Hibernate如此成功!

原创 2004年06月30日 18:00:00
下面是对Hibernate开发工作的个人想法,正是这些工作使得Hibernate如此迅速的得到广泛的欢迎。

1、飞快的版本发布
保持活跃的开发速度,经常进行版本发布,甚至几天之内就从前一个版本开发到下一个版本。这样是保证软件远离Bug的最好的办法,也可以让用户感到很放心,确信Hibernate的开发十分活跃,另外这样做也有一大好处,就是可以发现哪些功能是用户真正需要的。

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

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

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

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

成功在Netbeans下配置hibernate并…

The following 1 connections were not migrated since identical connections already existed in the Wor...
  • u010770993
  • u010770993
  • 2017年04月21日 10:51
  • 847

(一)啥是Hibernate——成功在Netbe…

所以到底什么是Hibernate? 搞清楚这个问题首先得清楚啥是数据库。数据库就是存储数据的库(废话),那意味着我存一堆txt到一个文件夹里也叫数据库啰?但显然,数据库还承担着远程分享,检索,运算等...
  • u010770993
  • u010770993
  • 2017年04月21日 10:51
  • 92

maven 下成功搭建hibernate

目录如下: 1.pom.xml 4.0.0 cn.sigangjun 01hibernate war 0.0.1-SNAPSHOT 01hibernate Maven W...
  • sigangjun
  • sigangjun
  • 2013年10月29日 16:57
  • 1030

第一个成功的Hibernate项目

一、创建Web项目,导入Hibernate3核心包和依赖包 e 二、创建数据库huserdb和表user 三、增加与user表相对应的java实体类User package ch03....
  • szhuangli
  • szhuangli
  • 2016年04月25日 15:32
  • 114

Hibernate 框架基本的数据库增删改查操作

代码: hibernate.cfg.xml(Hibernate与数据库连接操作的文档)
  • linhaiyun_ytdx
  • linhaiyun_ytdx
  • 2017年02月09日 14:27
  • 1128

Hibernate 事务提交sql语句的顺序

最近做的项目有一个很麻烦的业务,一个操作里包含了insert,update,delete,select动作。 一开始起在一个hibernate事务里,发现在入库的时候有的时候数据对不上,后来查了下资...
  • u014284411
  • u014284411
  • 2014年03月27日 13:35
  • 2421

spring boot集成Hibernate并且实现自动创建数据库表的相关配置

首先,在pom.xml中添加以下的一些依赖: org.springframework.boot spring-boot-starter-data-jp...
  • yalishadaa
  • yalishadaa
  • 2017年03月02日 20:59
  • 6222

初学Hibernate, 遇到不能自动创建表的问题

在学习李刚的《轻量级Java2EE企业应用实战 第三版》时,调试第一个Hibernate程序,源代码是HibernateQs, 根据书本和源码敲上去,经常几次调试排除了代码写错的原因,可是最终还是出...
  • j_u_n1991
  • j_u_n1991
  • 2014年03月27日 21:31
  • 1961

hibernate4无法保存数据

hibernate4无法保存数据,getCurrentSession无法保存数据,spring事务影响hibernate4保存数据...
  • u011511684
  • u011511684
  • 2014年06月28日 16:08
  • 3851

Hibernate执行update操作之后查询跟新的语句出错

首先根据this.getSession().createQuery(sql).executeUpdate()方式更新数据,然后调用List lst = this.find(hql.toString()...
  • woshisap
  • woshisap
  • 2014年01月21日 13:14
  • 7038
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:为什么Hibernate如此成功!
举报原因:
原因补充:

(最多只允许输入30个字)