七.错误信息
错误处理很重要,但如果它搞乱了代码逻辑,就是错误的做法
使用异常而非返回码
1.遇到错误时,最好抛出一个异常。调用代码很整洁,其逻辑不会被错误处理搞乱
先写Try-Catch-Finally语句
1.异常的妙处之一是,它们在程序中定义了一个范围。执行try-catch-finally语句中try部分的代码时,你是在表明可随时取消执行,并在catch语句中接续
2.在某种意义上,try代码块就像是事务,catch代码块将程序维持在一种持续状态
3.在编写可能抛出异常的代码时,最好先写try-catch-finally语句,能帮你定义代码的用户应该期待什么,无论try代码块中执行的代码出什么错都一样
使用不可控异常
1.可控异常,就是指在方法签名中标注异常。但有时候会产生多层波及,有时候你对较底层的代码修改,可能会波及很多上层代码
给出异常发生的环境说明
1.抛出的每个异常,都应当提供足够的环境说明,以便判断错误的来源和处所
2.应创建信息充分的错误消息,并和异常一起传递出去
依调用者需要定义异常类
1.自定义的异常类最重要的考虑是它们如何被捕获
2.将第三方API打包是个良好的实践手段,降低了对每个第三方的依赖,也有助于模拟第三方调用,并将一些复杂的异常捕获过程封装
定义常规流程
1.特例模式(SPECIAL CASE PATTERN,[Fowler]),创建一个类或配置一个对象,用来处理特例,异常行为被封装到特例对象中
尽量别返回null值,也别传递null值
八.边界
使用第三方代码
1.第三方程序包和框架提供者追求普适性,这样就能在多个环境中工作,吸引广泛的用户
2.我们建议不要将Map(或在边界上的其他接口)在系统中传递,把它保留在类或近亲类中,避免从API中返回边界接口,或将接口作为参数传递给公共API
学习性测试的好处不只是免费
1.学习性测试毫无成本,编写测试是获得这些知识(要使用的API)的容易而不会影响其他工作的途径
2.学习性测试确保第三方程序包按照我们想要的方式工作
使用尚不存在的代码
编写我们想得到的接口,好处之一是它在我们控制之下,有助于保持客户代码更可读,且集中于它该完成的工作
整洁的边界
1.边界上的改动,有良好的软件设计,无需巨大投入和重写即可进行修改
2.边界上的代码需要清晰的分割和定义了期望的测试。依靠你能控制的东西,好过依靠你控制不了的东西,免得日后受它控制
3.可以使用ADAPTER模式将我们的接口转换为第三方提供的接口
标签:try,代码,笔记,之道,API,接口,异常,第三方,整洁 From: https://www.cnblogs.com/liucaizhi/p/17849792.html