美文网首页
2022-10-16-整洁代码的对象和错误处理

2022-10-16-整洁代码的对象和错误处理

作者: 三流之路 | 来源:发表于2022-10-17 15:41 被阅读0次

继续读《代码整洁之道》。

对象和数据结构

  • 不要轻易的就写 getter 方法获取类内的属性值,是思考目的是什么,有时用有意义的函数返回这个值,可以隐藏自己内部的细节
  • “著名的得墨忒耳律(The Law of Demeter)认为,模块不应了解它所操作对象的内部情形……方法不应调用由任何函数返回的对象的方法。”
    final String outputDir = ctxt.getOptions().getScratchDir().getAbsolutePath();
    
    上面的代码,违反了规则,一连串的调用,通常被认为是肮脏的风格。是吗?项目中这么使用并不少见。
    说是 getOptions 返回的对象,不应该再去知道它的内部细节,想想这原则不可能实现啊。
    如果 Options 和 ScratchDir 中间插了一层,但是如果是数据结构(没有方法,只有属性的类),用 getOptions().getScratchDir() 就不行了。
    ctxt.options.scratchDir.absolutePath 就没关系,说提供一个方法,比如在 ctxt 中加一个 getOptionScratchPath() 返回,这样隐藏了细节,可以理解,但按这理论这方法内部调用还应该继续这样,去 options 内部再定义方法。

错误处理

有时 catch 异常需要对好多异常匹配判断,但是若明白自己想要的是什么,可能根本不关注到底是哪个异常,一般直接匹配一个 Exception 了,其实不太好,通用的 Exception 无法定位是这里抛出的。

可以将调用,异常处理单独封装到一个类,然后所有异常都抛出自定义的异常。还有一个好处,如果是第三方的 API 定义的异常类型,不需要在外部调用时出现这 API 里特有的异常,而是出现自己的异常。

方法不要返回 null 值,这是个好建议。可以返回特例对象,甚至可以抛出异常,如果是第三方的,可以自己这样封装,将 null 值处理了,不要返回去。

别将 null 值作为参数传递,和上面一条一样,都是减少检查 null 的代码逻辑,减少漏减少发生异常的概率。

相关文章

  • 2022-10-16-整洁代码的对象和错误处理

    继续读《代码整洁之道》。 对象和数据结构 不要轻易的就写 getter 方法获取类内的属性值,是思考目的是什么,有...

  • TypeScript 代码整洁之道- 错误处理

    将 Clean Code 的概念适用到 TypeScript,灵感来自 clean-code-javascript...

  • 代码整洁之道【6】-- 错误处理

    很多程序完全由错误处理所占据,导致几乎看不明白代码所做的事。这一章来学一下编写整洁又鲁棒的 一、使用异常而非返回状...

  • 第七章:错误处理

    tips:整洁的代码是可读的,也是强固的。两者并不冲突。将错误处理隔离看待,就能单独处理它,从而提高代码可维护性 ...

  • 《代码整洁之道》读书笔记(五)之错误处理

    错误处理很容易将代码搞凌乱,这里介绍处理错误代码的一些技巧,努力编写一个既整洁又强固的代码。 1. 使用异常而非返...

  • MyBatis3.5.6版本之前 CVE-2020-26945漏

    MyBatis 远程代码执行漏洞(CVE-2020-26945), 3.5.6版本之前的MyBatis错误处理对象...

  • [代码整洁之道]-整洁代码

    前段时间,看了代码整洁之道,顺手做了些笔记,分享给大家,和大家一起探讨整洁代码之道。 1.1要有代码 代码是我们最...

  • 错误处理

    1、使用异常而非返回错误码 要到错误时,最好抛出一个异常。调用代码很整洁,其逻辑不i会被错误处理搞乱; 2、先写T...

  • 代码整洁

    1.整洁的代码 “破窗理论”:窗户破损了的建筑让人觉着似乎没人照管,于是别人也不再关心。他们放任窗户继续破损,最终...

  • 整洁代码

    一、代码的命名 1.变量名、方法名:小驼峰法(除第一个单词之外,其他单词首字母大写) 2.类名:大驼峰法 (所有单...

网友评论

      本文标题:2022-10-16-整洁代码的对象和错误处理

      本文链接:https://www.haomeiwen.com/subject/dlldzrtx.html