明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

<>


標(biāo)簽:Hibernate獲得成功的10大理由 

Hibernate獲得成功的10大理由

[摘要]下面是對Hibernate開發(fā)工作的個人想法,正是這些工作使得Hibernate如此迅速的得到廣泛的歡迎。   1、飛快的版本發(fā)布   保持活躍的開發(fā)速度,經(jīng)常進(jìn)行版本發(fā)布,甚至幾天之內(nèi)就從前一個版本開發(fā)到下一個版本。這樣是保證軟件遠(yuǎn)離Bug的最好的辦法,也可以讓用戶感到很放心,確信Hiberna...
下面是對Hibernate開發(fā)工作的個人想法,正是這些工作使得Hibernate如此迅速的得到廣泛的歡迎。

  1、飛快的版本發(fā)布

  保持活躍的開發(fā)速度,經(jīng)常進(jìn)行版本發(fā)布,甚至幾天之內(nèi)就從前一個版本開發(fā)到下一個版本。這樣是保證軟件遠(yuǎn)離Bug的最好的辦法,也可以讓用戶感到很放心,確信Hibernate的開發(fā)十分活躍,另外這樣做也有一大好處,就是可以發(fā)現(xiàn)哪些功能是用戶真正需要的。

  2、回歸測試

  我想現(xiàn)在整個Java社區(qū)一定都很重視自動回歸測試。如果軟件的功能和設(shè)計有比較大的修改,那么一個綜合性的test suite對于軟件可維護(hù)性和穩(wěn)定性來說實在是太重要了。我們應(yīng)該有這樣的意識:如果對軟件的一個新功能沒有進(jìn)行回歸測試,我們根本就不該去做它。

  3、把一個功能做到最好

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

  4、避免過度設(shè)計

  浪費大量的時間和精力進(jìn)行軟件功能的抽象和擴(kuò)充軟件的靈活性,還不如多花點時間來解決你的用戶面臨的實際問題呢!簡單一點! 軟件能跑起來就OK,不要嘗試去解決你的用戶根本不關(guān)心的問題。就算你的軟件設(shè)計的不夠優(yōu)雅也沒有關(guān)系,反正還是initial階段嘛!以后再 refactor,你應(yīng)該關(guān)注的問題是及時的把有用的功能給做出來。

  5、集權(quán)

  在你需要由民主投票來下決定之前,至少你已經(jīng)把軟件輪廓做好了。軟件開發(fā)需要由一兩個開明的人來領(lǐng)導(dǎo),這樣可以保證軟件開發(fā)的連貫性而不至于產(chǎn)生太大的分歧,可以保證開發(fā)團(tuán)隊集中火力把要實現(xiàn)的功能做到最好。我覺得,OSS軟件最大的風(fēng)險就是意見不統(tǒng)一,攤子鋪的太大,結(jié)果最后搞的什么都沒有做好。

 。ㄗg者按:非常贊同,凡是成功的OSS軟件,都是在某個牛人已經(jīng)把軟件做好了之后,發(fā)布出來,然后由大家往里面添加功能的,并且在牛人的領(lǐng)導(dǎo)下不斷進(jìn)步。缺乏牛人的OSS軟件都不算很成功,比如Mozilla)

  6、文檔

  沒有什么比文檔更重要的了。如果你的用戶不知道你的軟件有這么一個功能,就等于沒有這個功能,干脆把它去掉得了,省得給源代碼增加復(fù)雜度。

  7、避免標(biāo)準(zhǔn)化

  好的標(biāo)準(zhǔn)可以帶來軟件的互用性和可移植性,壞的標(biāo)準(zhǔn)能夠窒息軟件創(chuàng)新!“支持XXX標(biāo)準(zhǔn)”根本就不是真實的用戶需求,特別是當(dāng)這個XXX標(biāo)準(zhǔn)是那些在其位不謀其政“所謂”的專家委員會制訂出來的。(譯者按:莫非指Sun,IBM等幾個big name?)最好的軟件是在不斷的嘗試,不斷的出錯,不斷的經(jīng)驗積累的過程中產(chǎn)生的。 事實上的標(biāo)準(zhǔn)往往更加貼近用戶需求。

  8、10分鐘之內(nèi)把Hibernate跑起來

  潛在的Hibernate的用戶在他們下載了Hibernate,第一次使用的時候根本就不可能花半個小時那么多時間來安裝、配置和 troubleshooting,他們早就喪失了對Hibernate的興趣了。我們的口號就是新用戶(假設(shè)有足夠的JDBC知識)5分鐘之內(nèi)把 Hibernate的Demo跑起來,而他們能夠在1個小時之內(nèi)寫出“Hello World”式的最簡單的Hibernate程序并且正常運行。

  9、開發(fā)人員的責(zé)任感

  用戶總是不可避免的碰到問題,開發(fā)團(tuán)隊有責(zé)任有義務(wù)提供幫助。用戶讓我們知道了文檔的漏洞,用戶讓我們知道了測試用例的小bug。此外,沒有用戶來用我們的Hibernate,我們還開發(fā)它做什么,不是浪費時間嗎!

  有個關(guān)于bug的笑話:用戶根本不介意發(fā)現(xiàn)新功能的bug(譯者按:Windows的用戶好像都是如此),只要你能迅速的改掉bug!柏(zé)任感”意味著 bug修復(fù)應(yīng)該在1周之內(nèi)。從收到bug報告到bug修復(fù)代碼提交到CVS上要做到平均在24小時左右,這才是一個理想的目標(biāo)。

  10、易用的、可更新的wiki網(wǎng)頁