代码整洁之道的阅读笔记

1 篇文章 0 订阅
1 篇文章 0 订阅

代码整洁之道的阅读笔记

异常:
  • 使用异常代替返回错误码

      返回错误码的方式违反了指令与询问分隔的规则,它容易导致了更深层次的嵌套结构。当返回错误码时就要求调用者立即处理错误。此外,使用异常替代的话,可以使得错误代码的处理能从主代码路径中分离出来,得到简化。

  • 抽离Try/Catch代码块

      Try/Catch代码块丑陋且搞乱了代码结构,最好的处理是把try和catch代码块的主体部分抽离出来,形成函数。

关于注释:
  • 好的注释

    1.法律信息,公司的代码规范要求编写与法律有关的注释。在每个源文件开头注释处放置。

    2.提供信息的注释,虽然这类注释有用,但是最好的方式还是通过函数名称传达信息。

    3.对意图的解释,提供某个决定后面的意图。

    4.警示,用于警告其他程序员会出现某种后果的注释。

    5.TODO注释,表明由于某些原因目前还没做的工作。

  • 坏的注释

    1.喃喃自语,这一类注释往往只是你觉得应该或者因为过程需要就加上注释,那就是无谓之举。

    2.循规式注释,即每个函数都要有Javadoc或者每个变量都要有注释的规矩。这是些注释会让带吗变得散乱,令人迷惑不解。

    3.归属与署名,源代码控制系统非常善于记住是谁在何时添加了什么,没必要用那些小小的签名搞脏带吗。

    4.注释掉的代码,不要的代码就删除,不要使用注释的方式,因为其他人可能会不敢删除注释掉的代码。

关于格式:
  • 垂直格式:

​ 1.概念相关,概念相关的代码应该放在一起;相关性越强,彼此之间的距离就该越短。

​ 2.垂直顺序,一般而言,我们想自上向下展示函数调用依赖顺序,即被调用的函数应该放在被调用的函数下面。

  • 横向格式

    1.行的字符数不宜太大,尽量维持在120个字符内。

    2.水平对齐,但是目前很多IDE会将水平对齐的代码自动格式化了,导致对齐也没什么用。

    3.缩进,缩进可以很好的体现源文件中代码的继承结构,分别圈出了一个范围。

关于错误处理:
  • 使用异常而非返回码
  • 先写Try-Catch-Finally语句,它们在程序中定义了一个范围。某种意义上,try代码块就像事务,catch代码块将程序维持在一种持续状态,无论try代码块发生了什么均如此。
  • 使用不可控异常,因为如果方法中抛出可控异常,而catch语句在三个层级之上,你就得在catch语句和抛出异常处之间的每个方法签名中声明该异常。
  • 给出异常发生的环境说明,抛出的每个异常都应该提供足够的环境说明,以便判断错误的来源和处所。
  • 依调用者需要定义异常类,对错误分类有很多方式。可以依其来源分类:来自组件还是其他地方?或者依其类型分类:是设备错误、网络错误?
  • 别返回null值并且别传递null值,否则很容易出现错误。
关于单元测试:
  • 测试代码和开发代码一样重要,单元测试让代码可拓展、可维护、可复用,因为它可以让你不担心对代码的修改,甚至毫无顾虑的改进架构和设计。
  • 单元测试的代码要保证整洁,可读性是第一要素
  • 每一个测试一个断言,每一个测试函数一个断言,这样可以快速方便的理解结论。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值