别人都說我們是碼農,但我們知道,自己是個藝術家。也許我們不過多在意自己的外表和穿着,但我們不羁的外表下,骨子裡追求着代碼的美、品質的美。而代碼規約其實就是一個對美的定義。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL5kjNhFWM5ITNmVjM5MTM5UGMygjMygjM3gzN0MWN2M2NzEWYzYmZj9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
《阿裡巴巴Java開發手冊》系統性地從程式設計、資料庫、異常日志、工程結構、安全、單元測試六大方面,總結出優秀Java開發者必備的技術素養。時值手冊釋出一周年之際,阿裡官方對外正式公開《阿裡巴巴Java開發手冊》終!極!版!!!
該版本将是阿裡官方對外釋放的最後一個PDF版本,也是史上内容最全、修正最為徹底的一個版本,并且史無前例地增加了單元測試規約,絕對值得珍藏。
<a href="http://techforum-img.cn-hangzhou.oss-pub.aliyun-inc.com/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4Java%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C%28%E7%BB%88%E6%9E%81%E7%89%88%29.pdf" target="_blank">>>快速下載下傳</a>
單元測試規約,優秀開發者的必備技能
單元測試是一件老生常談,深入人心的事情,但是喜歡寫單元測試的開發同學少之又少。單元測試似乎是功不在當下的事情,快速完成需求成為了王道。在工作量評估的時候,如果開發同學說需要花上若幹天時間來寫單測,産品可能就會磨刀霍霍殺來。
盡管如此,單元測試是一件有情懷,有技術素養,有遠期收益的工作。它能夠有效監測軟體子產品品質、促進代碼深度優化,進而降低線上故障率,長期執行有助于提升項目疊代效率,并增加重構自信,減少重構成本。簡直就是bug滅絕器有木有!
是以此次在終極版本中,阿裡根據内部單元測試的實踐經驗,較長的描述了單元測試的相關原則和重要建議。
AIR原則:
A:Automatic,單元測試需要測試架構自動化執行,才有意義。
I:Independent,單元測試用例之間互相獨立,不存在依賴關系。
R:Repeatable,單元測試可以被重複執行,且結果一緻。
BCDE原則:
B:Border,邊界值測試,包括循環邊界、特殊取值、特殊時間點等。
C:Correct,正确的輸入,并得到預期的結果。
D:Design,與設計文檔相結合,來編寫單元測試。
E:Error,強制錯誤資訊輸入(如:非法資料),并得到預期的結果。
更多關于單元測試的内容、優化項目,歡迎查閱《阿裡巴巴Java開發手冊》終極版。
終極版目錄
一勞永逸:官方自動化IDE檢測插件即将問世
為了幫助開發者更好提高編碼效率,阿裡巴巴基于手冊内容,獨立研發一套自動化IDE檢測插件。該插件在掃描代碼後,将不符合《手冊》的代碼按block/critical/major三個等級顯示在下方;實時編寫代碼時,還會給出智能提示,告訴你如何編寫可以更優雅;對于曆史代碼,部分規則實作了批量一鍵修複的功能。是不是很友善?
手冊雖有終極版,技術沒有終點站
編碼規範的價值在業内有着廣泛的共識,但在現實中卻被否定得一塌糊塗。工程師曾經最引以為豪的代碼,因為編碼規範的缺失、命名的草率而全面地摧毀了彼此的互信,并嚴重地制約了彼此的高效協同。工程師一邊吐槽别人的代碼,一邊寫着可能遭受同樣命運的代碼,不時的推倒重建或心驚膽戰的維護似乎成了工作的主旋律。
《阿裡巴巴Java開發手冊》的使命,在于幫助工程師脫離繁瑣,重燃技術激情。業務會變、玩法會變、需求會變,做好代碼品質的決心永不會變。
手冊雖有終極版,技術沒有終點站。不斷打磨技術,成為更好的自己,我們共勉。
釋出儀式邀請你參加:
10月14日,杭州雲栖大會研發效能峰會場,阿裡将正式對外開放插件及源碼。我們邀請了代碼規約的貢獻嘉賓代表參與代碼規約的首發儀式,陣容如下:
孤盡——代碼規約項目總帶頭人
多隆——淘寶代碼第一行
晗光——代碼規約英文翻譯項目組PM
玄壇——代碼規約插件P3C項目組PM
否泰——代碼規約項目PM
張雪峰——餓了麼CTO,企業開源版試用方
李豔鵬——白話代碼規約作者
畢玄、玄難、索尼——代碼規約的堅實後盾
插件通路位址也将在雲效公衆号首發當天第一時間更新。
<b></b>
<b>研發效能峰會邀請函!</b>