《Effective java》读书记录-第45条-将局部变量的作用域最小化
2016-01-04 15:39
141 查看
将局部变量的作用域最小化,可以增强代码的可读性和可维护性,并降低出错的可能性。
较早的程序设计语言(如C)要求局部变量必须在一个代码块的开头处进行声明,这个习惯在Java中应该改正。
1.要使局部变量的作用域最小化,最有力的方法就是在第一次使用它的地方声明。
2.几乎每个局部变量的声明都应该包含一个初始化表达式。
较早的程序设计语言(如C)要求局部变量必须在一个代码块的开头处进行声明,这个习惯在Java中应该改正。
1.要使局部变量的作用域最小化,最有力的方法就是在第一次使用它的地方声明。
2.几乎每个局部变量的声明都应该包含一个初始化表达式。
public void example1(){ List<string> list =new ArrayList<string>(); for (String e: list) { e.toString(); } List<string> list2 =new ArrayList<string>(); for (String e: list2) { e.toString(); } } public void example2(){ List<string> list =new ArrayList<string>(); while (list.iterator().hasNext()) { list.iterator().next(); } List<string> list2 =new ArrayList<string>(); while(list.iterator().hasNext()){//Bug list2.iterator().next(); } } </string></string></string></string></string></string></string></string>example2方法的第二个循环存在一个“剪切-粘贴”错误,原本是要对list2进行循环,却错误的使用了list,而且代码能够通过编译,运行还不抛出异常。
相关文章推荐
- 如何用js得到当前页面的url信息方法(JS获取当前网址信息)
- jQuery——自定义事件
- AngularJS 模块
- JavaScriptSerializer.MaxJsonLength属性问题
- AngularJS 报错 “Unexpected token”
- cJSON代码阅读(5)——解析JSON字符串
- JavaScript 从定义到执行,你应该知道的那些事
- js中null与undefined的差别
- Extjs调用Webservice之JSON数据(3)
- TTS通过JavaScript调用
- React入门 (二) 创建一个评论模块
- protocol buffer 使用
- CSS3.0盒模型display:-webkit-box;的使用
- AngularJS 事件
- nodepad++ 快捷键
- jquery中cookie用法实例详解(获取,存储,删除等)
- 深入探究AngularJS框架中Scope对象的超级教程
- javascript定时器详解
- cJSON代码阅读(4)——解析JSON数据的流程
- React入门(四) 评论模块续-评论表单