讀古今文學網 > Android程序設計:第2版 > Eclipse中的Java編程 >

Eclipse中的Java編程

如果你還不熟悉Java和Eclipse,你最關注的可能是如何能夠正常運轉。但是很快,你最關注的可能就會變成如何做才能讓編碼快速且簡單。在所有的編程語言中,Java可能是最熱衷於通過像Eclipse這樣的工具來提高程序員的編碼效率的。因此,Eclipse中的Java編程就是要最大可能地提高編碼效率。編碼效率包含3大方面:高效創建新代碼;快速找到要閱讀或修改的代碼;把修改應用到除了你正在編輯的代碼之外的其他相關代碼。

Java代碼編輯和代碼補全

對於任何面向Java的IDE,編輯Java代碼最核心的效率特徵是代碼補全,在Eclipse中稱為content assist。幾乎任何有Java源文件的地方,都可以通過快捷鍵「Ctrl+空格鍵」來調出建議(propose),補全正在編輯的代碼。舉個例子,你知道有一個查找方法,但是忘記了準確的名字,你可以鍵入fi,然後按「Ctrl+空格鍵」。這樣將會看到如圖5-6所示的提示信息。

在這個例子中,content assist會提供要插入的方法名稱,也包含方法的參數列表。列表中有一個名為findViewById的方法,可以選中這個方法,而不需要鍵入整個方法名和參數列表。

圖5-6:content assist中彈出的代碼補全提示

如果沒有輸入任何東西,按下Ctrl+空格鍵,content assist將會提供類的所有常量和方法作為可能的代碼補全提示。

重構

Java是靜態類型,要求每個對象和引用在使用之前都要顯式聲明。這個特徵使得Java看起來很機械且不優雅,也使得Java編碼看起來很囉嗦。以Eclipse為代表的各種IDE通過代碼補全等編碼加速方法彌補了Java中這種冗長風格的不足。在各種編碼相關的事務中有一種任務,靜態編碼類型的語言具有得天獨厚的優勢,這種任務就是重構。

重構是指在保持程序執行行為不變的前提下,對代碼進行修改。也就是說,重構不會改變程序的執行結果。它改變的是代碼的組織方式。確保程序執行行為不變,對代碼重新組織,需要很強的轉換。如果需要執行文本替換,對引用或類型的重命名可能也是危險的。但是通過重構,可以確保只有需要修改的名稱才被修改。

有兩個因素會極大地提高重構的實施:語言必須是靜態類型;IDE必須包含了程序的編譯模型。程序模型(model of the program)是指通過已編譯的代碼表示的數據結構,程序中的所有類型和引用都在其作用域內。IDE清楚程序的準確類型、類型或應用的準確作用域,就可以非常明確地定位該類型或引用出現的所有地方。

重構是證明語言無法只通過語義、美學和表現力來表達的最佳例子。像Java這樣設計保守的語言也可以是非常安全且高效的,只要編碼者能夠很好地利用各種工具。