个人感受部分:
关于异常处理我不太明白只知道怎么用,并不知道为什么。另外意识到自己之前的代码都没有加过注释,归根结底是自己太懒了,懒得去加注释。。
书中提到注释是代码的补救Comments Do Not Make Up for Bad Code."这句话简直就是灵魂。
解决办法:关于异常处理那就是抛出异常将问题推给调用者,而不是指出清楚的方式处理它。以后写程序得时候多写注释,在必要的地方一定要写注释。
读书笔记:
使用异常企图避免处理如下困难情况:那就是抛出异常将问题推给调用者,而不是指出清楚的方式处理它。
类抛出的异常是类接口的一部分。
减少异常复杂得方法:
- 定义错误不存在:消除异常处理复杂度的最好的办法是定义APIs,这里没有异常处理,定义错误不存在。
- 隐藏异常。
- 异常聚合。
- 系统崩溃处理。
- 定义特殊情景不存在。
- 注释应该描述代码不明显的事情。
- 注释能提供简单高级别的视图。
- 写注释的第一步是决定注释的习俗。习俗有两个作用。首先,它们确定一致性,使得注释容易读和理解。第二,它们帮助确定实际写的注释。
注释分类:
1.接口注释。
2.数据结构成员注释。
3.实现注释。
4.模块交叉注释。
注释跟代码相同细节,这样的注释很少有用的。
注释写好后问自己下面的问题:没有看过代码的人能通过看注释下面的代码写出这样的注释吗?如果是,这样的注释是没有意思的。
另一个普遍错误是注释使用相同的词,这些词出现在实体名称中。
注释上使用与实体名称不同的词。
注释增大代码,通过提供不同级别的细节。
有些注释提供较低级别更加详细的信息,级别低于代码。这些注释增加精度,指明了代码的确切意思。
其他注释提供较高级别,更加抽象,级别高于代码,这些注释通常是直觉。如:代码背后的理由,更容易更抽象的思考代码。
跟代码同级别的注释更可能是重复的。
文档抽象的第一步是分离接口注释和实现注释。接口注释不会提供方法如何实现的信息。