中國人民可以說是被盜版和Windows慣壞了。在Linux默認環境下的中文顯示至今慘不忍睹。
看看現在一些主要的發行版本,默認設置下的日語的顯示已經相當不錯了。
作為漢字發祥地且擁有眾多人口的中國,實在是有些悲哀。
文泉驛計劃正在為實現這個目標努力。作為一個非盈利性組織,他們的貢獻的確值得贊賞。
最近方正正在為字體的事情打官司,并提出了高額賠償的要求。建議方正要是能夠勝訴的話,貢獻一些字體給開源組織,為弘揚漢語言文化多做點貢獻。
- surefire-report 生成單元測試報告
- jdepend 生成包的度量報告
- findbugs 檢查潛在的缺陷
- cobertura 生成測試覆蓋率報告
以上是一些常用的用于品質管理的插件。默認情況下都不用配置,相當方便。如果需要手動配置的話,根據網上的文檔也相當容易配置。
apache的maven plugin頁面:
http://maven.apache.org/plugins/codehaus mojo 頁面:
http://mojo.codehaus.org
2006 Sun Techdays Shanghai 的第2天下午有一個名為《
Java Scripting: One VM, Many Languages》的Session。
Rags為大家展示了Mustang的一個新特性,Scripting in Java——腳本語言支持。
通過加入腳本引擎的支持,就能夠在Java中解釋Javascript,python,ruby等諸多腳本語言。
對于這個特性,想到的一個可能的應用就是在annotation中寫腳本語言,然后在代碼中用相應的腳本語言引擎解釋執行。
保留到運行時的annotation可以用實現aop的功能,使用非inline的腳本就可以更靈活地控制aspect的行為。
比如:
//inline scripting
@ScriptBefore(script="
",language="javascript"?)
public?void?foo()?{
???
}
//non-inline scripting
@ScriptBefore(file="scripts/logging.js",language="javascript")
public?void?bar()?{
}
前些天,和一位XPer進行了一次愉快的談話。他向我講述了一些感覺很有效的實踐。
關于過程和迭代
他曾經參與過的項目的迭代是以月為迭代單位的,但事實上每周都會重復一個簡單的過程。
在迭代過程中,他非常推崇Burn-Down Charts。這是一個Scrum的工具。通過Burn-Down Charts,能夠把過程中間的變化記錄下來,使過程高度可視化。等到一次迭代完成,回顧一下所有的Burn-Down Charts就能作為改進的判斷依據。
KPT Meeting。所謂KPT Meeting就是 Keep-Prevent-Try metting。小組定期舉行KPT會議(基本上是每周一次)。在KTP會議上,通過頭腦風暴的方式每個人(不是某幾個人)把各自認為前一階段里做得好的方面寫在Keep一欄里;做得不好的方面寫在Prevent一欄里;希望嘗試的寫在Try一欄里。然后大家對這些項目進行評估和篩選。下一階段中,Keep的項目繼續保持,Prevent的項目應該杜絕,Try的項目進行嘗試。
工具
在開展這些實踐的時候,交流比較頻繁。首推的工具是Mini white board和DC。
選擇Mini white board的原因并不是因為帶有"mini"聽上去會像 Mini Cooper 或者 iPod mini 那么cool。因為一塊A3左右大小的白板非常適合個人或者結對使用,而且環保(省去了草稿紙)。雖然整個團隊也有用于大規模交流的更大的白板,但那屬于“競爭資源”,各自使用自己的白板更為方便。
交流結果產生后,為了不花不必要的時間去做精美的文檔,一臺輕便的DC往往是最合適的選擇。當然,如果足夠,手機上的照相功能也可以完成同樣的任務。相比偷拍街上的MM,這些電子產品能夠實現更大的價值。
關于結對
每天進行6小時的結對編程,分3次,每次2小時。每次和不同的成員組隊。在結隊的時候充分利用了上面提到的工具進行交流。如果出現兩個人不能解決的問題的時候,會立即向整個團隊提出,這樣可能導致一次stand-up meeting。即使問題不能馬上解決,至少也能確保每個人都知道這個問題。