下面是對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è)計(jì)有比較大的修改,那么一個綜合性的test suite對于軟件可維護(hù)性和穩(wěn)定性來說實(shí)在是太重要了。我們應(yīng)該有這樣的意識:如果對軟件的一個新功能沒有進(jìn)行回歸測試,我們根本就不該去做它。
3、把一個功能做到最好
要么不做,要做,就一定做到最好。那些我們做不到最好的功能,我們根本不去做,扔給其他軟件去做吧。
4、避免過度設(shè)計(jì)
浪費(fèi)大量的時(shí)間和精力進(jìn)行軟件功能的抽象和擴(kuò)充軟件的靈活性,還不如多花點(diǎn)時(shí)間來解決你的用戶面臨的實(shí)際問題呢!簡單一點(diǎn)! 軟件能跑起來就OK,不要嘗試去解決你的用戶根本不關(guān)心的問題。就算你的軟件設(shè)計(jì)的不夠優(yōu)雅也沒有關(guān)系,反正還是initial階段嘛!以后再 refactor,你應(yīng)該關(guān)注的問題是及時(shí)的把有用的功能給做出來。
5、集權(quán)
在你需要由民主投票來下決定之前,至少你已經(jīng)把軟件輪廓做好了。軟件開發(fā)需要由一兩個開明的人來領(lǐng)導(dǎo),這樣可以保證軟件開發(fā)的連貫性而不至于產(chǎn)生太大的分歧,可以保證開發(fā)團(tuán)隊(duì)集中火力把要實(shí)現(xiàn)的功能做到最好。我覺得,OSS軟件最大的風(fēng)險(xiǎn)就是意見不統(tǒng)一,攤子鋪的太大,結(jié)果最后搞的什么都沒有做好。
(譯者按:非常贊同,凡是成功的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)”根本就不是真實(shí)的用戶需求,特別是當(dāng)這個XXX標(biāo)準(zhǔn)是那些在其位不謀其政“所謂”的專家委員會制訂出來的。(譯者按:莫非指Sun,IBM等幾個big name?)最好的軟件是在不斷的嘗試,不斷的出錯,不斷的經(jīng)驗(yàn)積累的過程中產(chǎn)生的。 事實(shí)上的標(biāo)準(zhǔn)往往更加貼近用戶需求。
8、10分鐘之內(nèi)把Hibernate跑起來
潛在的Hibernate的用戶在他們下載了Hibernate,第一次使用的時(shí)候根本就不可能花半個小時(shí)那么多時(shí)間來安裝、配置和 troubleshooting,他們早就喪失了對Hibernate的興趣了。我們的口號就是新用戶(假設(shè)有足夠的JDBC知識)5分鐘之內(nèi)把 Hibernate的Demo跑起來,而他們能夠在1個小時(shí)之內(nèi)寫出“Hello World”式的最簡單的Hibernate程序并且正常運(yùn)行。
9、開發(fā)人員的責(zé)任感
用戶總是不可避免的碰到問題,開發(fā)團(tuán)隊(duì)有責(zé)任有義務(wù)提供幫助。用戶讓我們知道了文檔的漏洞,用戶讓我們知道了測試用例的小bug。此外,沒有用戶來用我們的Hibernate,我們還開發(fā)它做什么,不是浪費(fèi)時(shí)間嗎!
有個關(guān)于bug的笑話:用戶根本不介意發(fā)現(xiàn)新功能的bug(譯者按:Windows的用戶好像都是如此),只要你能迅速的改掉bug。“責(zé)任感”意味著 bug修復(fù)應(yīng)該在1周之內(nèi)。從收到bug報(bào)告到bug修復(fù)代碼提交到CVS上要做到平均在24小時(shí)左右,這才是一個理想的目標(biāo)。
10、易用的、可更新的wiki網(wǎng)頁
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com