?? 作者:江南白衣?

?? 有個地方恰似美好未來,就是被趕鴨子上架的?SpringSide了。
???比起近親結(jié)婚的公司團隊,加入一個南拳北腿的開源項目有更多意外的收獲。本來想寫一篇《那些男孩教我的事》,但想起這個題目的來自蔡康永的書名,心里一陣發(fā)寒,還是算了。

???1.UTF-8

?? UTF-8是在Charlse和Robbin脅迫下改的,原來和大家一樣用的是GBK。后來證明,那兩個小時轉(zhuǎn)碼努力非常值。

?? 編碼問題幾乎與所有國內(nèi)Java項目相伴而生,不同內(nèi)核的Linux、英文版日文版的WindowsXP總是讓GBK很頭痛,改用UTF-8后,忽然就天青云淡了,UTF-8,全世界語系連馬爾代夫語都有自己的座位,實在找不到理由為什么還要用只支持大中華的GBK。

??? IDEA,Eclipse等主流IDE都可以設(shè)置編碼為UTF-8后直接編輯,關(guān)鍵是開始時怎么把做到一半的項目轉(zhuǎn)為UTF-8。
??? 其實把自己當(dāng)成車衣廠女工,機械的使用UltraEdit和EditPlus的轉(zhuǎn)換功能,忙活一兩個小時,怎么都可以轉(zhuǎn)完所有文件了。

? 其中UltraEdit的轉(zhuǎn)換方法是文件-->轉(zhuǎn)換-->ASCII to UTF-8(Unicode編輯),最好在Advanced-->本地代碼頁那里也設(shè)一下UTF-8。

2.Subversion

?? Subversion是因為cac的示范,加上sf的cvs問題多多而試用的.用后覺得的確更適合J2EE時代的項目。所以apache老早就在使用,而Sourceforge新新開始支持且可以從cvs一鍵切換。

???他的好處首頁上已經(jīng)列明了,不過他的表達不佳,我的英文也不堪,所以很多好處是用了之后才體會得到。

基礎(chǔ)讀物:那份因為有過八卦而比較有名的《用Subversion進行版本控制》

1. 對空目錄,無論要留要刪,都比only file base 的CVS好。

2. 可以改名,對于喜歡重構(gòu)的同志比較有用,rename后仍然可以方便的比較版本間異同,也保留了所有commit信息。

3. 把每次提交捆綁在一起,日后查記錄時能看到同時提交的文件。對于一次提交一個issue相關(guān)文件的同學(xué)來講,這是個很實用的功能。Web應(yīng)用和桌面應(yīng)用比,就是分層N多,一個改動總要改N個源碼+配置文件,現(xiàn)在能綁在一起挺不錯。

4. 用簡單的目錄概念代替了復(fù)雜的分支與標(biāo)簽,而且使用映射,使得開分支作備份之類的不用把數(shù)據(jù)重新傳一次,成本好低。

其余的優(yōu)點大家自用自察了,比如小海龜寫提交注釋時居然有文件名auto complete,二進制文件也是只update差異,不update全部等等。

可惜ant里還沒有subversion的task,所以Ant里如果要跑svn相關(guān)的任務(wù),只能用javasvn,近乎命令行的方式進行,見SpringSide build.xml里的svn-export target。

3. Maven2

??? maven2是pesome的慫恿,appfuse equinox的示范,再加上服務(wù)器的確不堪無數(shù)次重復(fù)下載依賴jar的結(jié)果。
??
??? 篇幅較長,另開一篇:做環(huán)保主義者,用Maven2 管理Java類庫???????