我们接下来讨论一下Java语言的细节,包括局部变量的处理,库的使用,以及两种不是语言本身提供的机制的使用等等一些大家平时可能忽略的问题。
Item 29:将局部变量的作用域最小化
和C语言要求局部变量必须被生命在代码的开始处相比,Java程序设计语言宽松得多,它答应你在代码的任何位置声明。要想使一个局部变量的作用域最小化,最高小的技术是在第一次需要使用它的地方声明,变量的作用域是从声明它的地方开始到这个声明做在的代码块的结束位止,假如我们把变量的声明和代码的使用位置分开的过大,那么对于读这段代码的人来说,是很不幸的。
我们几乎都是在一个局部变量声明的地方同时给它初始化,注重这是很重要的,甚至有时候,假如我们的初始化应该推迟到下一个代码的位置,我们同时应该把声明也往后延迟。这条规则唯一的例外是try-catch这个语句,因为假如一个变量被方法初始化,那么这个方法很有可能抛出一个异常,那我们最常用的方法就是把它置于try块的内部去进行初始化。由此我们可以得出,for循环优于while循环,我们在能使用for循环的地方尽量使用for而不使用while,因为for循环是完全独立的,所以重用循环变量名字不会有任何伤害。
最后我们要记住的是尽量把我们的函数写的小而集中,这样才能真正组做到”最小化局部变量的作用域”这一要旨。
Item 30:了解和使用库
使用标准库,我们可以充分利用编写这些库的Java专家的知识,以及在你之前其他人的使用经验,这就是所谓站在巨人的肩膀上看世界吧~
在每一个Java平台的发行版本里面,都会有许多新的包的加入,和这些更新保持一直是值得的,比如说我们J2ME的开发,在MIDP 1.0的时代,我们要写个Game还要自己动手写工具类,现在MIDP2.0推出之后,大多数写游戏的人都觉得方便了很多,因为在这个版本里面加入了游戏包,为我们的开发节省了大量的人力物力。