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网页

(0)

相关推荐

  • Hibernate获得成功的十大理由

    下面是对Hibernate开发工作的个人想法,正是这些工作使得Hibernate如此迅速的得到广泛的欢迎. 1.飞快的版本发布 保持活跃的开发速度,经常进行版本发布,甚至几天之内就从前一个版本开发到下一个版本.这样是保证软件远离Bug的最好的办法,也可以让用户感到很放心,确信Hibernate的开发十分活跃,另外这样做也有一大好处,就是可以发现哪些功能是用户真正需要的. 2.回归测试 我想现在整个Java社区一定都很重视自动回归测试.如果软件的功能和设计有比较大的修改,那么一个综合性的test

  • 学习CSS的10大理由

    作为一个热门技术,CSS的发展的确有些缓慢.CSS最早被提议在1994年,最早被浏览器支持在1996年,CSS一直被力捧为传统的以HTML为基础的web代码的继承者.CSS使用样式表来控制整个站点字体和布局的能力,使它看起来非常有效率.易于设计和有远见.然而,也一直有荒诞的说法围绕着CSS,阻碍了网页设计师学习和掌握这种语言.究竟是什么让人们大惊小怪呢? 我们访问了大学教师Christopher Schmitt,他是CSS的倡导者之一.Christopher深信CSS将成为网页设计师必备知识之一

  • 十大使用PHP框架的理由

    PHP框架提供了一个用以构建web应用的基本框架,从而简化了用PHP编写web应用程序的流程.换言之,PHP框架有助于促进快速应用开发( RAD ),不但节省开发时间.有助于建立更稳定的应用,而且减少了重复编码的开发. 1.可以更好的组织代码和文件夹. 不会因为你新建了一个/inc的文件夹,然后在里面写function.php文件,就能说明你的代码有组织了.但是当你使用一个PHP框架的时候,框架本身已经有一定的文件夹结构,你需要遵循框架的一些标准,这样就可以保证你始终用一定的方式来组织你的代码.

  • 十大求职陷阱公布 骗子敢用真信息欺诈求职者

    请擦亮你的双眼,在求职跳槽高峰期的这段日子里,看清这世界形形色色职场"陷阱".昨天,根据连日来700多网友的积极投票,市劳动和社会保障局所属的上海公共招聘网发布了"我最需防范的十大求职陷阱". 1.试用陷阱 以新招人员替代试用期满人员  [经典案例]吴先生应聘某汽车销售服务公司的汽车驾驶员岗位.单位承诺3个月试用,录用后发现,该单位仍在进行汽车驾驶员招聘工作.吴先生按约定做满3个月,却接到了单位的辞退通知. 2.培训陷阱 以招聘为名为培训学校拉生源 [经典案例]张小

  • 浅谈机器学习需要的了解的十大算法

    毫无疑问,近些年机器学习和人工智能领域受到了越来越多的关注.随着大数据成为当下工业界最火爆的技术趋势,机器学习也借助大数据在预测和推荐方面取得了惊人的成绩.比较有名的机器学习案例包括Netflix根据用户历史浏览行为给用户推荐电影,亚马逊基于用户的历史购买行为来推荐图书. 那么,如果你想要学习机器学习的算法,该如何入门呢?就我而言,我的入门课程是在哥本哈根留学时选修的人工智能课程.老师是丹麦科技大学应用数学和计算机专业的全职教授,他的研究方向是逻辑学和人工智能,主要是用逻辑学的方法来建模.课程包

  • Intellij IDEA十大快捷键

    Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣的讨论.每个人都有自己的最爱,想排出个理想的榜单还真是困难.以前也整理过Intellij的快捷键,这次就按照我日常开发时的使用频率,简单分类列一下我最喜欢的十大快捷-神-键吧. 1 智能提示 Intellij首当其冲的当然就是Intelligence智能!基本的代码提示用Ctrl+Space,还有更智能地按类型信息提示Ctrl+Shift+Space,但因为Intellij总是随着我们敲击而自动提示,所

  • Python 十大特性

    目录 1.Python 2.Python 编程语言的特性 3.开源 4.Python 中的 GUI 编程支持 5.Python 支持高级语言 6.可扩展性 7.可移植性 8.大型标准库 9.解释性语言 10.面向对象程序设计语言 11.表达力 12.常见问题 前言: 在了解 Python 的特性之前,我们首先要了解 Python 编程语言是什么.Python 编程语言是世界上发展最快的编程语言.这一高级通用编程语言提供了广泛的实际应用,并且是一种非常流行的认证. Python 可以让程序员更加高

  • 2004年十大网络安全漏洞

    国际安全组织新发布:2004年十大网络应用漏洞    IT安全专业人士的开放网络应用安全计划组织(OWASP)发布的第二份年度十大网络应用安全薄弱环节列表中,增加了"拒绝提供服务"类型的隐患,因为在去年该类型的隐患已屡见不鲜.OWASP的主席兼"奠基石"(一家提供战略安全服务的公司)顾问会主任柯费·马克称:"我们预测:本年度,主要的电子商务网站将遭到拒绝提供服务的攻击,因为黑客已经对众多的用户密码感到厌烦."比如:当一名掌握着大量电子邮件帐号的黑

  • 网上保障隐私十大秘技

    互联网是一把两刃利剑,一方面为日常生活带来便利,另一方面又为黑客入侵电脑系统开放更多渠道.一般网友应如何防范?请看下面能保障你隐私的十大秘技:  1. 采用匿名方式浏览,因为许多网站利用cookies跟踪网友的互联网活动,从而确定网友喜好.你可以在使用浏览器时关闭电脑接收cookie的选项,避免受到 cookies的追踪.  2. 进行任何网上交易或发送电邮前,切记阅读网站的隐私保护政策,因为有些网站会将你的个人资料卖给第三方.  3. 安装个人防火墙,以防止个人资料和财务数据被窃取.及时升级是

  • Java开发人员需知的十大戒律

    本文讲述了Java开发人员需知的十大戒律.分享给大家供大家参考,具体如下: 作为一个Java开发人员提高自己代码的质量,可维护性,是个恒久不变的话题,网上看到这篇文章,拿来自勉. 对Java开发者来说,有许多的标准和最佳实践.本文列举了每一个开发人员必须遵从的十大基本法则:如果有了可以遵从的规则而不遵从,那么将导致的是十分悲惨的结局. 1. 在你的代码里加入注释 每个人都知道这点,但不知何故忘记了遵守.算一算有多少次你"忘记"了添加注释?这是事实:注释对程序在功能上没有实质的贡献.但是

随机推荐