首页 » Android程序设计:第2版 » Android程序设计:第2版全文在线阅读

《Android程序设计:第2版》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这样设计保守的语言也可以是非常安全且高效的,只要编码者能够很好地利用各种工具。