作者:江南白衣
2006年JOLT大獎(jiǎng)(http://www.)的得獎(jiǎng)名單: 企業(yè)項(xiàng)目管理:WelcomRisk 2.6(Welcom) 缺陷跟蹤、變更與配置管理:Perforce SCM 2005(Perforce) 設(shè)計(jì)與建模:Lattix LDM 2.0(Lattix) 項(xiàng)目質(zhì)量管理:Rally 5.6(Rally Software Development) 測試工具: VMTN Subscription 2005(VMware) 不知道他們長什么樣子嗎?沒所謂了,工具從來就亂花迷眼,但花哨的工具未必適合自己的團(tuán)隊(duì)。總要洗凈鉛華的總結(jié)出一些最必要的,能提供最大輔力加持的工具。 1.版本管理工具 客戶端工具:小海龜(http://tortoisesvn./)。這個(gè)CVS版的姊妹工具以前就號稱WinCVS殺手了,與Window Explorer右鍵的整合,摒棄了必須專門跑一個(gè)Client的傳統(tǒng)。 文本比較與合并工具:小海龜里集成的TortoiseMerge。除了Update和Commit外,查看歷史版本差異,合并版本沖突是大家最常做的事情了,所以工具也一定要用適合的。 Web瀏覽代碼:Trac(http://www./trac/),完全合乎讓人Pleasure標(biāo)準(zhǔn)的Web版代碼展示工具。能夠方便的查看,Search代碼,觀察倉庫的提交日志。 如果團(tuán)隊(duì)里依然用CVS的話,相對應(yīng)的推薦套件就是: l 客戶端:小海龜(www.) l 差異比較工具:WinMerge l Web代碼瀏覽工具:Fisheye l 賬號管理工具:CVSTrac
雖然程序員都不太喜歡代碼以外的任何東西,當(dāng)然也包括UML圖。但實(shí)踐證明敏捷編程也不能完全拋棄設(shè)計(jì),如果將UML圖用于純粹的交流工具而不是MDA一類宏偉愿望的話還是挺有用的,比如靜態(tài)Class圖和順序圖是我最經(jīng)常畫的東西。 有很多明星級的工具可以畫這些圖,但我某天發(fā)現(xiàn),一個(gè)很小巧的工具Jude(http://jude./jude-web/index.html)已經(jīng)可以把這兩種圖畫得很好。大家都可以在使用內(nèi)存怪獸般的設(shè)計(jì)建模工具時(shí),尋找屬于自己的袖珍玲瓏版工具。
重構(gòu)(二級) 即使團(tuán)隊(duì)用得最多的只是Rename、Move、Extract Method等幾個(gè)基本動(dòng)作,Java EE架構(gòu)里牽一發(fā)動(dòng)全身的事情也太多了,重構(gòu)會(huì)幫你把所有事情做干凈,所以我現(xiàn)在已形成依賴,如果不用重構(gòu),隨便改一樣?xùn)|西,肯定造成一堆東西編譯不過或者Web應(yīng)用啟動(dòng)失敗。IntelliJ IDEA作為第一個(gè)支持重構(gòu)的工具,已經(jīng)一路高歌把重構(gòu)的概念深入到JSP、XML、JavaScript和CSS等,實(shí)在是相當(dāng)聰明。
Flying Error提示和自動(dòng)修正(二級) Flying Error提示在Java IDE里已經(jīng)逐漸成了標(biāo)準(zhǔn)配置,有錯(cuò)了馬上提示就地更正,不需要積了一堆錯(cuò)誤等到編譯時(shí)才慢慢查看Error Message排錯(cuò)。又是IDEA,不但提示錯(cuò)誤,還會(huì)提出幾種可選的修正方案,你點(diǎn)一下就會(huì)幫你自動(dòng)修正。比如一個(gè)函數(shù)會(huì)拋出必須進(jìn)行處理的checked異常,你如果調(diào)用了這個(gè)函數(shù),IDEA就會(huì)提示你“是在調(diào)用的地方進(jìn)行Try Catch呢,還是在外層函數(shù)聲明Throws這個(gè)Exception?”你選擇之后就會(huì)幫你自動(dòng)完成,感覺非常貼心。
Smart Complete(二級) 比如現(xiàn)在要輸入myFirstBook.setPublishDate(publishDate)這句代碼,上一代的IDE在輸入myBook.后,會(huì)彈出下拉菜單顯示Book類的所有函數(shù)讓你選擇。 而新一代的IDE,AI都高得嚇人,總能通過變量類型與上下文的名字猜出你想輸入的內(nèi)容,比如“my+熱鍵”就能生成myFirstBook,“(+熱鍵”就能生成publishDate。如此Smart的結(jié)果,就是我編碼的過程中熱鍵不斷,成了徹底的懶人。
Debug Java EE應(yīng)用(二級) Web開發(fā)者一般用System.out或者Log4j來顯示調(diào)試信息,但對于曾經(jīng)桌面編程的程序員來說,直接進(jìn)入調(diào)試模式,單步跟蹤程序執(zhí)行路徑,想看哪個(gè)變量就看哪個(gè)變量,才是天經(jīng)地義的事情。慢慢的,這一代的IDE也已經(jīng)覺醒,通過與Application Server的集成,可以在JSP,甚至第三方類庫的源代碼如Spring Framework的HibernateDAOTemplate里設(shè)置斷點(diǎn),然后單步執(zhí)行,察看變量的變化。
如果左看右看,其他語言的IDE都很難符合上面的要求,不妨等待Eclipse的強(qiáng)大平臺,一個(gè)個(gè)插件的慢慢統(tǒng)一。 5.團(tuán)隊(duì)IM工具和共享文件夾 關(guān)于交流工具,從前是言必稱Email的。而隨著社會(huì)的進(jìn)步,現(xiàn)在更提倡交流的即時(shí)性,因此,“Face to Face”的交流被作為首選,早上15分鐘的短會(huì), IM工具被作為與Email同等重要的手段。 說起IM工具,很多公司都會(huì)選擇嚴(yán)肅的MSN而不喜歡QQ。但我還是喜歡QQ的群功能,而且雖然提倡交流的即時(shí),但避免打擾對于開發(fā)者也很重要,QQ 新版的“來消息時(shí)只顯示消息條數(shù)”能起到同樣的免干擾作用。 最后是知識庫,Wiki有一個(gè)曾經(jīng)是優(yōu)點(diǎn)的缺點(diǎn)——Wiki語法。它的簡單只是對于那種用寫字板寫網(wǎng)頁的高手來說的,大部分人寫文檔的時(shí)候還是喜歡所見即所得的編輯。而且,Wiki語法與html不兼容,造成了知識庫與互聯(lián)網(wǎng)世界的鴻溝。不過好在Cofluence 2.0終于有了所見所得的編輯器,也可以棄用Wiki語法而直接使用html編輯了。 其他項(xiàng)目工具包括紙,筆,足夠大的白板,隨時(shí)可用的會(huì)議室。還缺了什么? 代碼自動(dòng)生成工具中也沒有最趁手的。 |
|