代码整洁之道精华——第七章 错误处理
2017-04-08 11:40
696 查看
阅读本文有两种原因:第一,你是个程序员;第二,你想成为更好的程序员。你如果想成为更好的程序员,那就请细细品味文章内容,它绝不会让你失望。
代码整洁之道教给大家如何编写整洁的代码,而不仅仅是能运行的代码,这对于编程者而言很重要。我在读这本书的第一遍时没什么感觉,但在读第二遍时觉得它确实挺不错的,如果有机会的话我会读第三遍。下面是我在读书过程中摘录的精华内容,希望大家认真对待。各位看官如果读完本文觉得书中的精华内容挺合自己的胃口,那就可以抽出时间认真地读一下这本书。
1、要讨论错误处理,就一定要提及那些容易引发错误的做法,第一项就是返回null值。千万别返回null值,返回null值基本上是在给自己增加工作量,也是在给调用添乱。只要有一处没检查null值,应用程序就会失控。
2、如果你打算在方法中返回null值,不如抛出异常,或是返回特例对象。如果你在调用某个第三方API中可能返回null值的方法,可以考虑用新方法打包原有的方法,在新方法中抛出异常或返回特例对象。
在许多情况下,特例对象都是爽口良药。设想有这么一段代码:
现在getEmployees()可能返回null,如果把返回null改成返回空列表,那判空语句就可以省略了:
3、千万别将null值传递给其他方法,除非API要求你向它传递null值。
4、整洁代码是可读的,但也要强固,可读与强固并不冲突。如果将错误处理隔离看待,独立于主要逻辑之外,就能写出强固而整洁的代码。
抛开所有细节不谈,代码整洁之道总体来说可以分为以下7点:
运行所有测试
减少重复代码
提高表达力
提早构建简单抽象
类和方法都只做好一件事
尽量减少类和方法的数量
努力,让营地比你来时更干净。努力,让世界比你来时更干净。努力,让代码比你签出时更干净。
代码整洁之道教给大家如何编写整洁的代码,而不仅仅是能运行的代码,这对于编程者而言很重要。我在读这本书的第一遍时没什么感觉,但在读第二遍时觉得它确实挺不错的,如果有机会的话我会读第三遍。下面是我在读书过程中摘录的精华内容,希望大家认真对待。各位看官如果读完本文觉得书中的精华内容挺合自己的胃口,那就可以抽出时间认真地读一下这本书。
1、要讨论错误处理,就一定要提及那些容易引发错误的做法,第一项就是返回null值。千万别返回null值,返回null值基本上是在给自己增加工作量,也是在给调用添乱。只要有一处没检查null值,应用程序就会失控。
2、如果你打算在方法中返回null值,不如抛出异常,或是返回特例对象。如果你在调用某个第三方API中可能返回null值的方法,可以考虑用新方法打包原有的方法,在新方法中抛出异常或返回特例对象。
在许多情况下,特例对象都是爽口良药。设想有这么一段代码:
List<Employee> employees = getEmployees(); if(employees != null){ for(Employee e : employees){ totalPay += e.getPay(); } }
现在getEmployees()可能返回null,如果把返回null改成返回空列表,那判空语句就可以省略了:
List<Employee> employees = getEmployees(); for(Employee e : employees){ totalPay += e.getPay(); }
3、千万别将null值传递给其他方法,除非API要求你向它传递null值。
4、整洁代码是可读的,但也要强固,可读与强固并不冲突。如果将错误处理隔离看待,独立于主要逻辑之外,就能写出强固而整洁的代码。
抛开所有细节不谈,代码整洁之道总体来说可以分为以下7点:
运行所有测试
减少重复代码
提高表达力
提早构建简单抽象
类和方法都只做好一件事
尽量减少类和方法的数量
努力,让营地比你来时更干净。努力,让世界比你来时更干净。努力,让代码比你签出时更干净。
相关文章推荐
- 代码整洁之道-----错误处理
- 代码整洁之道 错误处理 单元测试
- 阅读代码整洁之道->错误处理
- 代码整洁_错误处理
- 整洁代码----设计好错误处理
- 7、代码整洁之道——错误处理(异常处理)
- 代码整洁之道-第7章 错误处理
- 代码整洁之道--错误处理
- vb6集成环境on error错误处理代码添加插件
- C# 图片处理 代码 GDI+一般性错误 参数无效
- vb6集成环境on error错误处理代码添加插件
- javascript 容错处理代码(屏蔽js错误)
- Flex全局错误处理Global Error Handler代码兼容运行于低版本Flash Player
- 当您通过使用 InfoPath 2010 表单连接到 Web 服务时沙盒中处理的代码包含的、 不返回的数据或您收到一条错误消息
- 软件开发者面试百问-----怎么样让我们的代码可以处理各种错误事件?
- 代码实现AJAX异步回传(弹出javascript脚本)、异步更新的错误处理
- 使用代码处理页面中不可预知的错误
- ASP.NET 定制简单的错误处理页面实现代码
- Windows组件服务错误处理(错误代码:-1073737712)