CleanCode《代码整洁之道》读书笔记

来源:互联网 发布:杭州乐其网络待遇 编辑:程序博客网 时间:2024/05/07 06:41

总结,基本和目录也差不多。用来时刻提醒自己编写可维护,易读的代码

第一章

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

第二章

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

第三章 函数

1.函数要短小

2.一个函数只包含一个功能

3.函数里尽量只包含一个缩进,有利于文档的注释和代码的理解

4.确保Switch在低抽象层级.(因为Switch天生就是用来,违背了函数只做一件事的原则)

5.使用描述性的名称,让它能够较好的描述函数缩做的事情(功能越是集中,程序越短小,越是有利于你的你给你的函数取一个好名字)

6.函数的参数尽量少,最好的就是没有,除非有很必要的情况,否则不要使用三个参数及以上

【标识参数】尽量不要使用标识参数,有了bool这个参数,就说明这个函数并不是单一功能,而是根据bool的值在执行准备好的功能。这个方法可以拆成两个方法

【一元函数】坚持使用者这种形式的一元函数(对于转换,使用带返回值的写法可读性会强很多)


【二元函数】二元函数其实还好。

正常的情况,关于位置的函数有两个参数x和y就很正常。但是有的函数的顺序需要额外的学习约定。所以在一些情况下,二元函数是可以继续优化的。比如

方案一:writeField(outputStream, name)-------->将writeField写成outPutStream的成员之一:outputStream.writeField(name)

方案二:把outputStream写成当前类的成员变量,从而无需传递它。

方案三:分离出类似FieldWriter的新类,在其构造器中采用outputStream,并且包含一个write方法

【三元函数】三元函数的排序琢磨忽略问题难度倍增,写三元函数之前尽量考虑清楚

【多个参数】如果函数的看起来需要两个三个或者是三个以上的参数,就说明其中的一些参数就该封装为类了

举例:Circle makeCircle(double x, double y, double radius)

           Circle makeCircle(Point center, double radius)

【参数列表】略 P41 Line3

【动词与关键词】对于一元函数来说,函数和参数应当形成一种非常良好的动/名词形式,例如write(name)

7.无副作用

8.分隔指令与询问

9.使用异常替代返回错误码

10.别重复自己

11.结构化编程

12.如何书写这样的代码

先是想什么写什么,然后再打磨它,直至她成为自己心中的样子。

我们开始写函数时,都是冗长而复杂,有太多的缩进,过长的参数列表,取名肆意,重复代码多,然后打磨代码,分解函数,修改名称,消除重复,缩短和重新安装方法,有时还可能会拆散类,同时保持测试通过,然后按照上面列出的规则,组装这些函数。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

第四章

0 0