国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

ANT十五大最佳實踐

2019-11-17 06:10:49
字體:
來源:轉載
供稿:網友

  作者: Eric M. Burke, coauthor of java Extreme PRogramming Cookbook
  原文:http://www.onjava.com/pub/a/onjava/2003/12/17/ant_bestpractices.Html
  譯者:stonexu
  QQ:19722707
  MSN:xt121@hotmail.com

  在ANT出現之前,編譯和部署Java應用需要使用包括特定平臺的腳本、Make文件、不同的IDE以及手工操作等組成的大雜燴。現在,幾乎所有的開源Java項目都在使用Ant,許多公司的開發項目也在使用Ant。Ant的大量使用,也自然帶來了對總結Ant最佳實踐的迫切需求。

   本文總結了我喜好的Ant最佳實踐,很多是從親身經歷的項目錯誤,或從其他開發者的“恐怖”故事中得到的靈感的。比如,有人告訴我有個項目將XDoclet 生成的代碼放入鎖定文件的版本控制工具中。單開發者修改源代碼時,他必須記住手工檢出(Check out)并鎖定所有將要重生成的文件。然后,手工運行代碼生成器,當他能夠讓Ant編譯代碼時,這一方法還存在一些問題:

  生成的代碼無法存儲在版本控制系統中

  Ant(本案例中是Xdoclet)應該自動確定下一次構建涉及的源文件,而不應由程序員人工確定。

  Ant的構建文件應該定義好正確的任務依靠關系,這樣程序員不必按照特定順序調用任務。

  當我開始一個新項目時,我首先編寫Ant構建文件。文件定義構建的過程,并為團隊中的每個程序員都使用。

  本文所有的最佳實踐假設Ant構建文件是一個必須精心編寫的重要文件,它應在版本控制系統中得  到維護,并定期進行重構。下面是我的十五大Ant最佳實踐。

  1. 采用一致的編碼規范

  Ant用戶不管是喜歡還是痛恨xml構建文件的語法,都愿意跳進這一迷人的爭論中。讓我們先看一些保持XML構建文件簡潔的方法。

  首先,也是最重要的,化費時間格式化你的XML讓它看上去很清楚。不過XML是否美觀,Ant都可以工作。但是丑陋的XML很難讀懂。倘若你在任務之間留出空行,有規則的縮進,每行文字不超過90列,那么XML令人驚奇的易讀。再加上好的編輯器或IDE高亮相應的語句,你就不會有如何閱讀的麻煩。

  同樣,精選有意義明確、輕易讀懂的詞匯來命名任務和屬性。比如,dir.reports就比rpts好。并不需要特定的編碼規范,只要有一種規范并堅持使用就好。

  2. 將build.xml 放在項目根目錄中

   Ant構建文件build.xml可以放在如何位置,但是放在項目頂層目錄中可以保持項目簡潔。這是最普遍的規范,使開發者能夠在根目錄找到它。同時,也能夠輕易了解項目中不同目錄之間的邏輯關系。以下是一個典型的項目層次:

  [root dir]
    build.xml
    +--src
    +--lib (包含第三方 JAR包)
    +--build (由 build任務生成)
    +--dist (由 build任務生成)





進入討論組討論。

  當build.xml在頂級目錄時,倘若你在項目某個子目錄中,只要輸入:ant -find compile 命令,不需要改變工作目錄就能夠以命令行方式編譯代碼。參數-find告訴Ant尋找存在于上級目錄中的build.xml并執行。

  3. 使用單一構建文件

   有人喜歡將一個大項目分解到幾個小的構建文件,每個構建文件分擔整個構建過程的一小部分工作。但是應該熟悉到,將構建文件分割會增加對整個構建過程的理解難度。要注重在單一構建文件能夠清楚表現構建層次的情況下,不要過工程化(over-engineer)。

   即使你把項目劃分為多個構建文件,也應使程序員能夠在項目根目錄下找到核心build.xml。盡管該文件只是將實際構建工作委派給下級構建文件,也應保證該文件可用。

  4. 提供良好的幫助說明

  應盡量使構建文件自文檔化。增加任務描述是最簡單的方法。當你輸入ant -projecthelp時,你就可以看到帶有描述的任務清單。比如,你可以這樣定義任務:




發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 镇坪县| 杭锦后旗| 太湖县| 彭州市| 忻城县| 长顺县| 长葛市| 福建省| 临洮县| 横山县| 龙泉市| 交城县| 峡江县| 巩义市| 正安县| 泽库县| 夏邑县| 崇仁县| 周宁县| 闵行区| 曲周县| 鄂州市| 昭苏县| 襄樊市| 博乐市| 洪泽县| 瑞昌市| 宣城市| 广河县| 岐山县| 岫岩| 英吉沙县| 临清市| 贺州市| 金乡县| 芜湖市| 蒲江县| 宁南县| 容城县| 桐柏县| 肥乡县|