Java, Only Java!

          統計

          留言簿(20)

          積分與排名

          好友空間

          文檔技巧

          閱讀排行榜

          評論排行榜

          《Eclipse精粹》學習筆記

          David Carlson著,張欣譯,《Eclipse精粹》,北京:機械工業出版社,2006.2

          應該說機械工業社又為大家提供了一本好書,不過這本書更像是Eclipse的學習手冊,使你充分了解Eclipse這個快速便捷的開發工具,“工要善其事,必先利其器”,熟悉你的“武器”是件非常重要的事情,但是看過一次之后,下次再打開可能是許多天之后了。因為許多用法只有在開發過程中體會了,才會感受到好處,還有的需要在開發中體會那種使用的尺度和感覺,因此我最開始沒覺得這是本好書。為什么會被大力推薦也一直不太明白,可能外國人與我的思維方式不同吧。但是,后來在還書之前又仔細看了一遍,覺得里面許多精粹的東西還是值得記錄下來,于是就有了這篇學習筆記,希望通過簡單地閱讀學習筆記可以對Eclipse和精粹這本書有所了解,如果覺得瀏覽過筆記后意猶未盡可以去圖書館借來看,對于我們窮書生這個不在我推薦購買的行列,不過有錢的兄弟姐妹還是希望支持一下作者,因為這本書的內容還是值得一讀。
          讀書筆記中包含有原著中的內容,如果作者認為侵犯了對方的權益請與我聯系,我會將之刪除。

          第一章 Java IDE及其他
          1.1 Eclipse平臺體系結構
          Eclipse是用于創建和部署插件的開發和運行環境的一種抽象視圖。
          Eclipse是靈活的、可擴展的集成開發環境(IDE)。
          Eclipse IDE的特點:
          ×多平臺。Windows,Linux(motif和GTK),Solaris,AIX,HP-UX和Mac OSX。
          ×多語言。采用Java語言開發,支持Java、C/C++和Cobol編寫應用程序,還支持Python、Perl、PHP和其他語言。插件必須用Java編寫。
          ×多角色。支持建模、測試、編寫程序和網頁及許多其他角色。

          1.1.1 Eclipse運行時平臺
          核心運行平臺提供如下最基本的服務:
          ×插件注冊。裝載插件并管理可用插件的注冊表信息。
          ×資源。管理操作系統文件和文件夾的獨立于平臺的容器,包括鏈接資源的位置。
          ×UI組件。用戶界面組件是以SWT和JFace庫為基礎。
          ×更新工具。對安裝和更新來自URL可建起位置的插件具有內置的支持。
          ×幫助工具。共享一個通用的幫助工具。
          Java開發工具(JDT)是Eclipse SDK中唯一的程序設計語言插件。基本功能:編輯器,大綱,內容助手,模板,模式程序,Java視圖,項目配置,調試器。
          C/C++開發工具(C/C++ Development Tools,CDT)是Eclipse平臺的C/C++開發工具。目前只能用于Linux平臺。
          插件開發環境(PDE)提供的工具可以自動化插件的創建、操作、調試和部署操作,是Eclipse SDK的一部分。
          Web工具平臺(Web Tools Platform,WTP)由Eclipse委員會由2004年6月正式批準,吸收了來自IBM和Object Web的開源代碼。
          Web標準工具(Web Standard Tools,WST)子項目為啟用Web的應用程序提供一般的基礎構造。提供的工具:標準語言(HTML/XHTML/XML...),編輯器(支持標準語言),驗證器,服務器發布(多個目標服務器上啟動、停止、發布和運行應用程序命令和窗口)。
          J2EE標準工具子項目為J2EE應用服務器開發基于J2EE 1.4規范的應用程序提供了公用的基礎構造。提供的工具:J2EE工具(EJB、Servlet、JSP、JCA、JDBC、JTA、JMS、JMX、JNDI和Web Services),JSP編輯器,JSP重構工具,搜索工具,語法對比。

          1.1.3 多功能客戶平臺
          Eclipse多功能客戶平臺(Rich Client Platform,RCP)的著名之處在于它不能做什么,而不是能做什么。只能用于構造任何客戶應用程序。基礎仍然是動態插件模型,UI是用同樣的工具箱和擴展點構造的。

          1.2. 其他Eclipse項目
          ×圖形編輯器框架(GEF)。用已有的應用程序模型創建多功能圖形編輯器。
          ×Eclipse建模框架(EMF)。用于構造工具和其他基于結構化數據模型的應用程序的建模框架和代碼生成工具。
          ×可視化編輯器(VE)。創建GUI構造程序的框架,包括Swing/JFC和SWT GUI構造程序的引用實現。
          ×UML 2.實現了UML 2.0元模型,支持建模工具的開發,支持通用的XML模式以簡化語義模型的交互,支持測試用例以用作驗證規約的方式,還支持驗證規則以用作定義兼容性并對其強制分層的方式。
          ×XML模式信息集(XSD)。檢驗、創建或修改XML械(單獨的或像XForms和WSDL文檔這樣的工具的一部分)的代碼的引用庫。XSD是獨立的技術子項目,通常作為EMF的一部分下載。
          ×服務數據對象(SDO)。簡化和統一面向服務體系結構(SOA)中的數據應用程序開發的框架。
          ×Eclipse測試和性能分析。用于整個開發周期(如測試、跟蹤/配置、調整、記錄、監控、分析、自治和管理)使用的測試和性能分析工具的框架和服務。
          ×商業智能和制表工具(BIRT)。用于在公司內設計、部署、生成和閱讀報表的基礎結構和工具。

          1.5 精粹
          ×Eclipse平臺的功能體系結構由構造模塊構成,它們能給核心的運行時平臺添加新特性。有幾百個Eclipse子項目和獨立的開源產品或商業產品構造在這個平臺之上。
          ×提供了一般的IDE支持,這個IDE可針對Java、C/C++、Web工具和其他開發活動進行專用化。一般的IDE是一個面向小組的工作平臺,支持多視圖、窗口、搜索工具、調試等操作。
          ×Java開發工具(JDT)為配置Java項目提供了支持,為編輯和調試操作提供了多功能環境。
          ×從Eclipse的Web站點或其他獨立的項目可以得到支持其他語言(如C/C++)的插件。
          ×Web工具平臺(WTP)項目是Eclipse家庭的最新成員,它將為J2EE和以Web為中心的應用程序開發提供可擴展的、基于標準的平臺。
          ×Eclipse提供了一個支持并能回事迭代式敏捷開發周期的開發平臺。該平臺具有持續測試、重構、持續集成、集體所有權和編碼標準等專用特征。

          1.6 參考文獻
          Beck, Kent, Extreme Programming Explained: Embracng Change. Boston, MA: Addison-Wesley, 1999.
          Budinsky, Frank, et al., Eclipse Modeling Framework. Boston, MA: Addison-Wesley, 2004.
          Clayberg, Eric, and Rubel, Dan, Eclipse: Building Commercial-Quality Plug-ins. Boston, MA:Addison-Wesley, 2004.
          Gamma, Erich and Beck, Kent, Contributing to Eclipse: Principles, Patterns, and Plug-ins. Boston, MA:Addison-Wesley, 2004.

          第二章 Eclipse,你好
          2.1 安裝與啟動
          四類Eclipse下載:
          ×最新正式版。開發組宣布為主要版本的軟件,使用穩定的、測試過的版本,不需要最新的重要特性和改進,合適的選擇。
          ×穩定版。已經證實對大多數用戶來說都足夠穩定的集成版。以重要的項目里程碑式的版本為基礎。想與最新的開發進展保持同步,使用最新特征和修正Bug,不介意遇到一些問題,可以選擇。
          ×集成版。周期性地得到確認的穩定、狀態一致的組件,下個穩定版將會采用的版本,只有高級Eclipse用戶才推薦使用。
          ×每夜編譯版。每天夜晚發布到CVS儲存庫的HEAD流的版本生成的。完全沒有經過測試,幾乎一定會有重大問題。
          啟動Eclipse前必須安裝Java JDK。啟動Eclipse時,可以使用-vm選項指定使用的JVM。
          eclipse.exe -showlocation -vm c:\jdk\bin\javaw.exe -vmargs -Xmx256M

          2.5 精粹
          ×由于Eclipse是開源項目,所以可以看到正在進行開發的版本。新手不建議使用每夜編譯版和集成版。
          ×Eclipse啟動時默認顯示Resource透視圖,大多數開發工作需要切換到Java透視圖。
          ×使用Java透視圖的向導程序可以創建新的項目、新的包和新的類文件。
          ×定制用于給新Java文件插入代碼的代碼生成模板。
          ×在Eclipse工作臺中運行應用程序,使用Console視圖難容命令行式的輸入和輸出。

          第三章 管理項目
          3.1 項目工作空間
          在運行Eclipse遇到問題時,可以查看當前工作空間中的.metadata文件夾下的.log文件,如果.log文件太大可以刪除。還可查看.lock文件,如果Eclipse無法正常啟動,可以刪除.lock文件,但是正常情況下不要刪除。
          需要多個工作空間的原因:
          ×獨立的工作主題,可能由不同的版本控制儲存庫管理
          ×顧問需要明確區分開客戶的資源。
          ×區別維護CVS中的分支版本的并發工作。

          3.2.1 項目
          項目的特性:
          ×把一組文件和文件夾組織在一起。
          ×所在的位置決定了項目資源在本地文件系統中存放的位置。
          ×構造規約決定了如何構造它的資源。
          ×可以具有臨時屬性,也可以具有永久屬性。
          ×可以是開放的,也可以是關閉的;關閉的項目是被動的,具有最小的內存分配。
          ×可以引用其他項目。
          ×可以屬于一個或多個項目類。

          3.2.2 鏈接資源的位置
          可以把部分Eclipse工作環境映射到文件系統中不相關的位置,因為:
          ×加入存儲到項目之外的配置或類文件目錄。
          ×滿足與Eclipse一起使用的工具要求采用固定的文件位置的要求。
          ×引用存放資源或庫文件的共享網絡驅動器單元。
          ×引用文件系統中安裝的其他產品。

          路徑變量提供的支持:
          ×在定義多個具有共同根目錄的鏈接資源時,提供了對絕對路徑的統一引用。
          ×通過改變一個變量,可以重定義多個資源的位置。
          ×無需更新每個資源的路徑,用戶就能共享具有鏈接資源的項目。

          3.4 精粹
          ×工作空間提供了一級相關的項目需要的所有資源的完整透視圖。
          ×Eclipse資源提供了文件和文件夾獨立于平臺的邏輯透視圖,但是,如果這些資源在Eclipse工作平臺之外發生了變化,那么它們必須與文件系統保持一致。
          ×一個Java項目包括源文件夾和輸出文件夾(最好分開旋轉)。項目自動配置有一個漸增構造程序,會把所有源文件構造到輸出文件夾。非Java項目不包括漸增構造程序,但除了這點之外,可以同樣的方式安排項目文件夾。
          ×可以把部分Eclipse工作空間的分層用鏈接資源地址映射到文件系統中不相關的位置。在與對文件位置有特殊要求的產品或開發工具一起使用Eclipse時,這點尤其重要。
          ×用多個項目配置一個應用程序會帶來長期好處,能提高獨立模塊的可重用性。項目依賴性控制了交叉項目導入的類的可視性。

          第四章 定制工作平臺
          4.1 透視圖
          透視圖定義了一級Eclipse視圖和動作集合,被組織成一種布局,適合一般用戶用來完成賦予該透視圖的任務。用戶可以使用默認透視圖,還可以創建和保存專有透視圖。還可以將當前透視圖恢復到默認的視圖和布局。

          4.2 工作平臺視圖
          常用的視圖如下:
          ×Navigator。當前工作空間中的項目、文件夾和文件的通用視圖;用于任何透視圖。
          ×Properties。由工作平臺的插件定制,顯示和編輯資源或對象的名字/值屬性。它會隨著別的視圖的改變而變化。
          ×Outline。由插件定制,顯示資源內容的結構圖。
          ×Problems。顯示資源中發現的問題的列表。
          ×Tasks。顯示要執行的任務的列表,每個任務還有資源引用和行數。
          ×Bookmarks。顯示用于快速引用和定位文件中的特定行的書簽。
          ×Search。顯示搜索工作空間的結果。

          4.2.2 窗口布局
          Eclipse支持移動窗口位置,顯示在主工作平臺之外的獨立窗口,設置成快速窗口,并且可以記憶自己的位置。

          4.4.1 首選項設置的作用域
          ×Configuration。設置將被保存在Eclipse安裝目錄中,由所有的工作空間實例共享。
          ×Workspace Instance。每個工作空間實例定義的,由它的所有項目共享。
          ×Project。僅適用于項目本身。

          4.6 精粹
          ×不要局限于一個透視圖,要把所有的工作售中在一組視圖中。利用多個透視圖,把它們組織起來,發揮它們的最大生產力來完成一組相關的任務。創建或定制透視圖來滿足你的需求。
          ×探討Eclipse中可用的專門視圖。使用一個合適的視圖或一組視圖可以顯著地提高你的生產力。
          ×用Package Explorer視圖和標記視圖(Problems、Tasks和Bookmarks)中的過濾器可以解決信息過多的問題。
          ×使用Eclipse個人化,以適應你的風格和工作。與你使用其他編輯器或IDE的習慣相匹配,探討Eclipse中的更多選項。
          ×導出首選項,共享項目設置,可以與所有成員共享你最好的實踐經驗和小組標準。

          第五章 快速開發
          5.4 使用快速修正
          可以使用快速修正的示例:
          ×刪除未使用的、未解析的或看不到的import語句。
          ×為項目中存在但不能解析的類型添加一個impor語句。
          ×為不能解析的方法簽名引用創建一個新方法。
          ×如果方法遺漏了return語句,則添加該語句。
          ×用try/catch塊封裝一個方法調用或給現有的try塊添加一個catch塊,處理未捕捉到的異常。
          ×當異常沒有在它的try塊中拋出時,刪除不必要的catch塊。

          5.7 精粹
          ×Outline視圖顯示的是當前Java編輯器中所有域、方法和內部類的列表;選項會與編輯器的定位保持一致。
          ×用F3和Ctrl+F3為引用的類型和方法打開一個新的編輯器,可以分析不熟悉的Java類庫。
          ×用內容助手可以插入類型和變量名或者在輸入時完成方法,從而能夠加速開發。
          ×配置源代碼文件,獲取在懸浮幫助和內容助手列表中顯示的詳細Javadoc信息。
          ×用源代碼模板插入常用的編碼模式(如for循環、switch語句或try/catch塊),并導引你填寫模式中的信息。定制或創建新的模板以適應你的需要和風格。
          ×快速修正為常見的編譯錯誤(如未捕捉到拋出的異常)提供了修改建議,并能自動糾錯。
          ×為類中選定的域生成獲取器和設置器方法。定制方法模板,例如在所有設置器方法中加入記錄日志的操作或改變通知。
          ×用Hierarchy視圖可以分析Java代碼中的類型分層,并能迅速在其中定位,這些分層由類擴展的類、接口擴展的接口和類實現的接口構成。

          第六章 Java項目配置
          6.1 Java構造路徑
          Java Build Path的四個標簽:
          ×Source。源文件夾和輸出文件夾。建議采用分離的源文件夾和輸出文件夾,可以使用多個源文件夾。
          ×Projects。加入該構造路徑的其他項目。
          ×Libraries。項目需要的其他檔案文件的位置。
          ×Order and Export。項目和庫出現在構造路徑和默認的運行時類路徑中的順序。

          6.5 精粹
          ×每個Java項目都有一個構造,用于編譯源文件中的獎,把結果存放到輸出文件夾。簡單項目沒有構造程序,其他項目類型則可以添加相關的構造程序,把合適的編譯器或轉換工具應用到文件上。
          ×項目是自動構造的;只要保存,就會自動應用構造程序。對于Java項目,構造程序使用工作空間首選項中配置的或項目重載的Java編譯器設置。
          ×Java項目的Java構造路徑定義了構造或運行項目時,應用把工作空間中的哪些項目和哪些JAR文件加入類路徑。
          ×用戶庫是定義聯合使用的一組相關JAR文件的便捷方法。
          ×當第三方的JAR文件存放在外部目錄中時,可以使用混合的配置。這些檔案中的一部分被打包在一個或多個用戶庫中,在Eclipse中,用簡單項目和鏈接文件益可以輕松地訪問所有檔案。

          6.6 參考文獻
          Apache Log4j is an open source logging facility available at http://jakarta.apache.org/log4j/.
          Apache Axis is an open source Web Services development tolkit available at http://ws.apache.org/axis/.

          第七章 調試代碼
          7.1 啟動調試對話
          單步調試執行
          ×Resume。繼續執行線程,直到它結束或遇到斷點為止。
          ×Suspend。掛起一個正在執行的線程。
          ×Terminate。終止Java VM。
          ×Step Into。跟蹤進入下一個要執行的方法。會增加一個棧幀。
          ×Step Over。結束當前行的執行,在下一個可執行的行處掛起。
          ×Step Return。從當前方法中跳出。
          ×Run to Line。繼續執行到選中的行。
          ×Use Step Filters。當切換到這個命令時,所有調試命令都將應用Java>Debug>Step Filtering首選項頁中定義的調試過濾器。

          7.5 精粹
          ×Debug稱之為具有幾個專用于調試的視圖:Debug視圖用于查看運行的線程以及它們掛起時的棧幀;Variables、Expressions和Display視圖用于查看對象狀態;Breakpoints視圖用于管理代碼中的所有斷點的列表。
          ×當運行到一個斷點時,有幾種選擇,可以繼續執行或終止線程,或者逐句地單步調試程序。
          ×Variables視圖顯示了Debug視圖中選定的棧幀的域、局部變量和方法參數。棧幀為這些變量提供了執行環境。
          ×可以執行顯示、檢查或更新程序狀態的代碼段。在調試對話期間,彈出式窗口可用來顯示或檢查在Java編輯器內選定的表達式。
          ×可以指派Detail Formatter,定義一個定制的輸出字符串,用于顯示調試過程中類的值。該格式程序會覆蓋這個類的toString()方法。
          ×用Hot Code Replace可以在調試對話中修改代碼,而無需重啟Java VM,從而給實驗性開發提供了便利。
          ×Java調試器的客戶/服務器設計允許你從網絡上的計算機啟動Java程序,然后在你的工作站上運行的Eclipse調試它。

          第八章 敏捷開發的特征
          8.1 敏捷宣言(agile manifesto)http://www.agilemanifesto.org/http://www.agilealliance.org/
          宣言包括12項準則,大致分為兩類:程序員授權和迭代式開發。
          ×業務與開發必須在整個項目的開發過程中一起工作。
          ×最后的體系結構、需求和設計都是從自組的小組中產生的。
          ×每隔兩個星期或兩個月就交付一次可運行的軟件,時間間隔越短越好。
          ×可運行的軟件是進度的首要度量指標。
          ×采用優秀的技術和好的設計可以提高敏捷性。

          敏捷開發以兩種計劃為基礎:
          ×粗略計劃:階段或發布計劃。
          ×一系列周密計劃:迭代計劃。

          8.4 精粹
          ×敏捷軟件開發是一組相關方法的通稱,強調使程序員能夠自組小組,與客戶緊密協作,使用迭代式開發周期,由開發者進行持續單元測試與集成。
          ×項目由兩級的計劃指導開發,即粗略發布計劃和周密迭代計劃。
          ×Eclipse提供了支持和能夠加速敏捷開發周期的開發平臺,還可以通過插件進行徹底不同的定制。
          ×有5項敏捷開發準則與程序設計相關,即測試、重構、持續集成、集成所有和編碼標準。

          8.5 參考文獻
          Beck, Kent, Extreme Programming Explained: Embracng Change. Boston, MA: Addison-Wesley, 1999.
          Fowler, Martin, Refactoring: Improving the Design of Existing Code, Reading, MA:Addison-Wesley, 1999.
          Highsmith, James. A., Adaptive Software Development: A Collaborative Approach to Managing Complex Systems. Dorset House, 2000.
          Kruchten, Phillippe, The Rational Unified Process: An Introduction, Third Edition. Boston, MA: Addison-Wesley, 2004.
          Leffingwell, Dean and Muirhead, Dave, Tactical Management of Agile Development: Achieving Competitive Advantage, Rally Software Development, Boulder, CO, 2004. This white paper is available from http://www.rallydev.com/.
          Schwaber, Ken and Beedle, Mike, Agile Software Development with Scrum. Prentice Hall, 2001.

          第九章 更新Eclipse IDE
          9.1 查找和安裝特征
          Eclipse特征:就是把構成Eclipse產品的相關功能集合在一起并描述它們的方法。
          Eclipse平臺自身被劃分為三個主要特性:平臺、JDT、PDE。
          特性定義并不包括代碼自身,它們只是把一個或多個相關插件或嵌套特性打包。組織特性的目的是為了頒發和更新產品,而組織插件的目的是幫助產品小組開發產品的功能。
          特性會被看作普遍可移植的。特性還提供了說明、許可和版權信息。

          9.4 精粹
          ×Product Configuration對話框列出了所有的安裝路徑和每個路徑下的所有特性。當安裝的插件沒有特性定義時,它們不會出現在配置列表中。
          ×About Eclipse Platform對話框包括一個按鈕,能夠列出工作平臺中啟用的所有插件,它們是否被打包成了某種特性的一部分。
          ×可以為用于檢索新的或更新特性的遠程或本地站點添加書簽。
          ×應該把新特性安裝到擴展路徑中,而不是安裝在Eclipse的主產品路徑中。這樣即使以后刪除并再安裝了Eclipse,也不會丟失第三方插件。
          ×許多插件并沒有特性定義或更新站點。不要像通常所做的那樣把它們的ZIP文件解壓縮到Eclipse的主plugins目錄中,而是解壓縮到允許你啟用和禁用這些插件的擴展目錄中。
          ×當你的防火墻使用了代理服務器時,需要首選項設置,用更新策略文件可以把特性的URL重定向到一個本地緩存站點。

          9.5 擴展
          ×Eclipse.org的社區主頁上列出了許多可用的資源。http://www.eclipse.org/community
          ×Eclipse插件中心(Eclipse Plug-in Central)是Eclipse系統的信息入口和交流場所。http://www.eclipseplugincentral.com/
          × http://www.eclipse-plugins.info/ 有分類的插件注冊表。

          第十章 用JUnit進行持續測試
          10.1 選擇測試策略
          編寫測試要:
          ×說明將要編寫的代碼的預期結果。
          ×說明Bug報告的修正操作。
          編寫測試的收益:
          ×幫助你為還未編寫的類型定義API。
          ×幫助你理解新的復雜的API,或者確認你對它的理解。
          ×驗證從另一個小組或銷售商處得到的庫的正確操作。
          ×驗證由代碼生成器生成的類的預期結果。

          10.5 精粹
          ×Junit支持許多不同的單元測試策略,包括首次測試處理和編寫驗證對第三方API的理解的單元測試。
          ×Junit測試包含在一種復合結果中。可以運行整個測試組,也可以運行一部分。運行的最小單位是一個測試方法。
          ×組織測試時推薦的方法有兩種,即在項目中創建第二個源文件夾,或者創建一個測試專用的項目。必須在被測試的類所在的包中編寫測試用例,這樣測試才能夠訪問保護的方法和包保護的方法。
          ×JUnit Test Case向導程序能夠為要編寫的測試生成具有方法存根的類模板,從而加速了開發。
          ×每當測試失敗時,JUnit窗口會自動出現,能幫助你快速地識別導致失敗的代碼行,并且對比預期的結果和實際的結果。

          10.6 擴展
          ×HttpUnit。在測試Web應用程序時,需要繞過瀏覽器,從程序中訪問你的站點。HttpUnit模擬了瀏覽器行為的相關部分,包括表單提交、JavaScript、基本的HTTP驗證、cookie和自動頁面重定向,從而簡化了這一操作,還允許測試代碼驗證返回的頁面。http://www.httpunit.org/
          ×Cactus。測試服務器端的Java代碼(Servlet、EJB、Tag Libs、Filters)的框架。http://jakarta.apache.org/cactus
          ×DbUnit。編寫使用關系數據庫數據的測試所用的框架。框架使用的是XML數據集(數據表的集合),在每次測試之前和之后都執行數據庫操作,以確保數據庫的內容處于已知狀態。http://www.dbunit.org/

          10.7 參考文獻
          JUnit home page, http://www.junit.org/.
          Fowler, Martin, Refactoring, Chapter 4, Building Tests. Reading, MA:Addison-Wesley, 1999.
          Graham, Steve, et al. Building Web Services with Java, Second Edition. Pearson Education, 2004.
          Massol, Vincent. JUnit in Action. Greenwich, CT: Manning, 2004.

          第11章 重構代碼
          11.4 精粹
          ×重構操作使軟件更易于理解,修改更容易,為下次迭代開發做好準備,但不改變當前行為。
          ×要確定程序的行為是否被重構操作改變,唯一的方法就是在重構操作前后都完整地運行一次JUnit測試組。沒有采用單元測試來驗證操作的重構操作風險非常高。
          ×在重構操作前后都要把代碼提交給儲存庫,以便為回滾操作建立一個已知狀態。
          ×通常對于一個序列會應用幾種不同的重構操作,以實現一個復雜的任務。
          ×通過預覽重構操作的結果,可以省略一些改變,如果整個操作不能實現你的預期目標,還可以取消整個操作。
          ×重構操作可以更新對改變過的元素的引用,與通過搬運操作來實現同樣的改變相比,這樣可以節省大量時間。
          ×Eclipse中的所有重構操作是根據你的重構活動中的一般任務來分類的。

          第12章 用Ant進行持續集成
          12.6 精粹
          ×持續集成使許多項目免受常規的Java項目配置之苦。所有源文件在保存時都會被自動編譯,唯一要做的就是完成單元測試。
          ×利用Ant構造文件補充默認的Java構造器通常可以滿足非常規的構造需求。Ant是可擴展的構造工具,它的功能可以緊密地集成到Eclipse工作平臺上。
          ×Ant構造文件編輯器與Java編輯器有許多共性。
          ×Ant的工作平臺首選項包括運行時配置,在此可以把額外的JAR文件加入運行構造文件采用的類路徑。
          ×每個構造文件還可以有自己的運行時配置,能夠覆蓋或擴展默認的配置。
          ×可以把Ant構造文件配置為在項目資源修改后就自動運行。
          ×一個完整的項目構造文件將編譯所有的源文件,編譯并運行所有的JUnit測試,準備Unit結果的HTML報告,以及生成Javadoc的API文檔。構造文件既可以在Eclipse中運行,也可以作為自動持續構造處理的一部分,在單獨的構造機上獨立運行。

          12.7 擴展
          PMD可以協助靜態分析Java代碼。這個工具既可以作為Eclipse的插件,也可以是一個Ant任務。
          http://pmd.sourceforge.net/index.html處可以下載Eclipse的PMD插件。

          12.8 參考文獻
          Hatcher, Erik and Loughran, Steve. Java Development with Ant. Greenwich, CT:Manning, 2003.
          Massol, Vincent. JUnit in Action, Chapter 5 Automating Junit. Greenwich, CT: Manning, 2004.
          Copeland, Tom. Static Analysis with PMD. See http://www.onjava.com/pub/a/onjava/2003/02/12/static_analysis.html

          第13章 用CVS實現小組所有權
          13.7 精粹
          ×Eclipse具有通用的小組API,支持資源控制儲存庫的客戶端。它包括完整的CVS客戶端。
          ×CVS使用樂觀模型協調小組成員之間的工作。如果采用的工作流能使你保持具有CVS的最近更新,能頻繁地與儲存庫進行同步化操作,當發生沖突的時候能解決它們,這樣才能最好地工作。
          ×在CVS Respository Exploring透視圖中可添加CVS儲存庫的路徑,瀏覽可用的模塊。
          ×在共享項目時,加入配置文件,如.project和.classpath文件,這樣可以使其他成員提取完整的Eclipse項目定義。
          ×還要在CVS中共享第三方的庫和全局工作空間首選項設置,使小組成員能夠提取出所有必要的依賴性。
          ×所謂同步化,就是把更新、提交和解決工作空間及儲存庫之間沖突的活動綁定起來。Team Synchronizing透視圖支持所有這些活動。
          ×用Compare Editor可以瀏覽所有即將進入和出去的改變,對于合并版本沖突至關重要。
          ×把一個CVS版本標志賦予儲存庫中的一組文件即可創建一個項目版本。此后可以提供出所有具有相同標志的相關文件。
          ×創建一個分支標志和創建一個版本類似,只是以后學要把來自分支的改變合并回主HEAD流(主干)中。
          ×使用CVS補丁,可以在CVS服務器不能用或者你沒有提交權限時與他人交換項目的改變。

          13.8 擴展
          http://www.eclipse.org/community/index.html

          13.9 參考文獻
          Bar, Moshe, and Fogel, Karl. Open Source Development with CVS, 3rd Edition. Scottsdal, AX: Paraglyph Press, 2003. Available for free download in HTML and PDF formats at http://cvsbook.red-bean.com/.
          Concurrent Versions System(CVS) Web site, http://www.cvshome.org/.
          CVS for the Windows NT Platform, http://www.cvsnt.org/.
          Cederqvist, Per. Version Management with CVS. http://www.cvshome.org/docs/manual
          CVS User's Guide, http://www.loria.fr/~molli/cvs/docs/cvs_toc.html
          Glezen, Paul. Branching with Eclipse and CVS. IBM, 2003. http://www.eclipse.org/articles/Article-CVS-branching/eclipse_branch.thml
          Vesperman, Jennifer. Essential CVS. O'Reilly, 2003.

          第14章 編碼標準
          Eclipse項目導引由三部分構成:
          ×命名規約。如何命名包、類、方法、變量和常量。
          ×編碼規約。關于聲明、語句、代碼中的縮進、空格,以及其他影響源代碼的理解、重用和調試源代碼的程序設計樣式的一致規約。
          ×Javadoc注釋。如何編寫文檔注釋,這些注釋對公共API尤其重要。
          Sun Microsystems的文檔《Code Conventions for the Java Programming Language》常被用來作為軟件開發的基礎。
          為什么需要編碼規約?
          ×在軟件的生命周期中,80%的時間都用于維護。
          ×在軟件整個生命周期中,都由原始作者對它進行維護幾乎是不可能的。
          ×在編碼規約提高了軟件的質量和可讀性,使工程師能夠迅速全面地理解新代碼。

          14.3 精粹
          ×對于敏捷開發小組的成員協作以及軟件的長期維護來說,編碼標準非常重要。這些標準包括命名、編碼樣式和Javadoc注釋的規約。
          ×Eclipse工具可減少與這些標準保持一致性的工作量。代碼格式化程序能應用樣式規則,代碼模板能夠插入Javadoc注釋,拼寫檢查程序能夠捕捉到注釋中的錯誤。Java編譯器不僅能檢查語法,還能對未使用的代碼提出警告。
          ×在小組儲存庫中共享格式化規則、代碼模板和拼寫檢查詞典,可以使所有小組成員的工作保持一致。
          ×使用Checkstyle插件(或其他類似的擴展)可以審查代碼與標準的一致性。自動運行樣式審查可以作為完整Ant構造文件的一部分。

          14.4 擴展
          ×Checkstyle。http://checkstyle.sourceforge.net/可以下載Checkstyle。http://eclipse-cs.sourceforge.net/可以下載插件。
          ×PMD分析工具。http://pmd.sourceforge.net/可以下載插件。
          ×實例化CodePro Advisor。http://www.instantiations.com/codepro/advisor.htm可以下載商業化插件。

          14.5 參考文獻
          Apache Jakarta Project, Source Repositories. See http://jakarta.apache.org/site/source.html
          Eclipse Foundation. Standards, Conventions and Guidelines. See http://dev.eclipse.org/
          Sun Microsystems. Code Conventions for the Java Programming Language. 1999. See http://java.sun.com/docs/codeconv/
          Sun Microsystems. Requirements for Writing Java API Specifications. 2003. See http://java.sun.com/products/jdk/javadoc/writingapispecs/
          Sun Microsystems. how to Write Doc Comments for Javadoc. 2003. See http://java.sun.com/products/jdk/javadoc/writingdoccomments/
          SCOWL(Spell Checker Oriented Word Lists) is a collection of word lists split up in various sizes, and other categories, intended to be suitable for use in spell checkers. See http://worllist.sourceforge.net/

          posted on 2007-07-16 10:23 zYx.Tom 閱讀(4381) 評論(8)  編輯  收藏 所屬分類: 1.Java世界

          評論

          # re: Eclipse精粹學習筆記 2007-07-16 14:05

          垃圾文章,真不知道你這個寫出來是干什么的  回復  更多評論   

          # re: Eclipse精粹學習筆記 2007-07-16 14:20 朱遠翔

          @撒
          寫出來幫助別人看書前了解呀。
          我寫的都是書中摘錄出來的,如果你覺得不好,請說出實際的建議和批評,我可以在未來改進,如果你不喜歡,也可以不看,但不要把別人的東西叫做垃圾,這可不像是個有禮貌的程序員。  回復  更多評論   

          # re: Eclipse精粹學習筆記 2007-07-16 14:53 BeanSoft

          搞 Apusic 渠道培訓的, 支持一下! 我是講 Java 開發的, 以前講過一些企業的 Weblogic 培訓. 有一本國人寫的 <<Eclipse從入門到精通.pdf>> 個人覺得寫的要好些, 除了使用之外, 還介紹了 Eclipse 相關的開發, 例如 Plugin, SWT, JFace 等.  回復  更多評論   

          # re: Eclipse精粹學習筆記 2007-07-16 15:38 朱遠翔

          @BeanSoft
          謝謝支持,說實話IT從業人員都非常辛苦,非常希望大家互相支持,共同創造一個好的工作環境。
          你說的是不是從入門到精通的系列書箱,我也挺喜歡那個系列的叢書的。
          這本書我覺得與其他Eclipse書不同的地方就是關注的是Eclipse的基礎介紹,就如書中所說的不是能做什么,而是不能做什么,使讀者對Eclipse有個基本的了解,這樣可以快速入門上手,特別是已經憑經驗用了Eclipse一段時間的朋友,反而會覺得更有幫助。
          但是,他沒有介紹如何使用Eclipse做些事情,因為他給了許多參考書文獻,可以通過那些文獻學習如何用好Eclipse。  回復  更多評論   

          # re: Eclipse精粹學習筆記 2007-07-17 11:53 三告習習

          “說實話IT從業人員都非常辛苦,非常希望大家互相支持,共同創造一個好的工作環境”
          支持~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!!  回復  更多評論   

          # re: Eclipse精粹學習筆記 2007-07-18 09:52 朱遠翔

          @三告習習
          謝謝你的支持,希望我們大家互相支持,建設好我們的BlogJava。  回復  更多評論   

          # re: Eclipse精粹學習筆記 2008-03-05 16:47 gembin

          Eclipse精粹學習筆記 ?

          題目和內容不太吻合把  回復  更多評論   

          # re: Eclipse精粹學習筆記 2008-03-05 18:14 朱遠翔-Apusic技術顧問

          @gembin
          抱歉,是我學《Eclipse精粹》這本書的學習筆記。  回復  更多評論   

          主站蜘蛛池模板: 台南市| 凤城市| 从江县| 广南县| 龙川县| 会昌县| 镇江市| 鄂托克旗| 东丽区| 柳州市| 新郑市| 普兰县| 惠州市| 华坪县| 广宗县| 翁牛特旗| 乐安县| 衡阳县| 漳平市| 祁门县| 彭山县| 囊谦县| 保山市| 海口市| 邹城市| 广昌县| 霍州市| 吴堡县| 乐昌市| 滦南县| 离岛区| 兖州市| 西青区| 正阳县| 且末县| 磐安县| 雅江县| 丘北县| 元氏县| 南京市| 湖南省|