Java高效编码:将局部变量的作用域最小化
2012-04-28 19:21
357 查看
将局部变量的作用域最小化,可以增加代码的可读性和可维护性,并降低出错的可能性。C语言要求局部变量必须声明在代码块的开始处,出于习惯很多人依然这样做。但是现在应该打破这一习惯了。为了使局部变量的作用域最小化,最好的办法就是在第一次使用的时候再声明之。换句话说,就是在你还没有足够的信息初始化一个变量时,应该推迟它的声明。也就是说几乎每一个局部变量的声明都应该包含一个初始化表达式(有些try-catch的情况下除外)。
[java]
view plaincopy
for (Iterator i = c.iterator(); i.hasNext();){
doSomething(i.next());
}
以上代码几乎总是比以下代码安全。
[java]
view plaincopy
Iterator i = c.iterator();
while (i.hasNext()){
doSomething(i.next());
}
因为后者的变量i 的生命周期被拉长了,在之后的代码中就有可能发生二义性Bug或“复制 — 粘贴”Bug。
总结:
方法小而集中。
一个函数只做一件事情。
[java]
view plaincopy
for (Iterator i = c.iterator(); i.hasNext();){
doSomething(i.next());
}
以上代码几乎总是比以下代码安全。
[java]
view plaincopy
Iterator i = c.iterator();
while (i.hasNext()){
doSomething(i.next());
}
因为后者的变量i 的生命周期被拉长了,在之后的代码中就有可能发生二义性Bug或“复制 — 粘贴”Bug。
总结:
方法小而集中。
一个函数只做一件事情。
相关文章推荐
- Effective Java(2nd Edition) Item 45 最小化局部变量的作用域(译文)
- Effective Java - 第45条:将局部变量的作用域最小化
- Effective Java(2nd Edition) Item 45 最小化局部变量的作用域
- 第四十五条:将局部变量的作用域最小化
- 将局部变量的作用域最小化
- 第45条:将局部变量的作用域最小化
- 将局部变量的作用域最小化
- 第45条:将局部变量的作用域最小化
- (45):将局部变量的作用域最小化
- Ruby对比java,c++变量作用域问题
- 成员变量和局部变量同名 / 局部变量的作用域最小化
- Java变量和对象的作用域
- Java中为什么内部类对外部类局部变量有引用时,外部类局部变量一定要有final?
- Java高效编码:for-each循环优先于传统的for循环
- Java的声明变量格式、Java局部变量、实例变量、类变量
- Java中的变量作用域
- Java 多线程(四) 多线程访问成员变量与局部变量
- JAVA 变量的作用域 和 生存期
- java变量作用域
- 黑马程序员——基础篇——java中变量的作用域