函数


约定0:函数内变量初始化成默认值,或者只定义不初始化。避免初始化成null。(整个程序中都应该尽量避免出现null)

约定1:函数依赖的参数类型始终和函数逻辑功能相关

约定2:保证函数的事务性,要么成功执行,要么抛出异常

约定3:对于函数中某些地方只可能出现某些固定值,使用断言确保没有意外(最好让把断言封装成返回RunTimeException,否则返回Error,不方便捕获)

约定4:每个函数必须保证自己能给出一个合法结果,出现任何问题,抛出运行时异常,让上层决定这次调用失败对他带来的影响

约定5:如果调用者明确知道某个语句出现错误也不会影响调用者继续执行,则捕获该错误让程序继续运行。

约定6:设置一个异常处理函数,这个函数用来处理所有抛出的运行时异常

总结来说就是,函数保证拿到正确的信息,返回可靠的结果。中间抛出的异常由上层处理,上层能处理后继续执行就处理,否则再往上抛统一处理


(这个约定好像没有必要)约定4:尽量保证每个函数线性化,函数中任何一句代码,都必须终止该函数,抛出异常

返回值(过期)

有2种模式

很显然信任模式可以让程序变的更加简洁高效,生活不也是这样吗?哈哈。所以建议自己负责的模块使用信任模式,调用别人的接口时使用非信任模式,毕竟你对写接口的人可能一无所知

遵守如下原则,绝对不会碰到空指针异常