《Clean Code》的笔记-第1页

Roc
Roc

读过 Clean Code

  • 章节名:序
  • 页码:第1页 2015-11-19 09:22:22
4人阅读

2015-11-19 10:45:14 Roc

第二章就是命名。可见Bob大叔对于名字的重视,名字在软件开发中的重要程度;
名字无所不自,系统,模块,接口,类,数据成员,方法,参数,临时变量, 文件夹,文件,项目... 如果其一个好名字,就基本上错不错的代码了。
什么是好名字?
名字要有意义,名副其实,或者名至实归。
==》 名副其实,避免误导,做有意义的区分, 能读得出来的名字,使用可搜索的名字

==> 避免编码(类型,作用域,等) ,避免映射。

===》 命名统一( 从需求,解决方案,设计,代码) 。 对于计算机术语和问题域,我更喜欢问题域的术语。 尽管计算机的术语大家都明白,但是如果遗失掉问题域的上下文,则需要别人做一个map或者假设读者知道,则有点得不偿失。



2015-11-19 12:43:56 Roc

第三章,光看名字就是最常见的 变成单元,函数。
什么是好函数==》 好的名字( 清晰的告诉目的) , 好的参数和返回值定义( 容易让人知道怎么用,清晰的表达其输入和输出) 一个好的函数看见其签名,就知道其目的,知道其做什么( 黑盒子),怎么做留给函数体。

比如数学上面的 sin, cos, abs 等函数名字

2. 降低复杂度。 函数体要短,临时变量要少。 重构里面提取函数,来降低函数的长度。 用query代替临时变量,减少临时变量数量。

3. 为了降低复杂度,函数只做一件事。 什么是一件事,Bob 给出几个判定方法。

  函数应该做一件事。函数只做一件事,做好一件事。什么是一件事。 (single Responsibility Principle)
  3.1 函数体表达的是同一层次的抽象; 简而言之,就是说站在同一节别,可以对话。属于统一级别。用To 方法,去读代码。
3.2 两层嵌套,就得注意。
3.3 如何函数体里面分段,就是几件不同的事。
函数中的特例, switch 的重构。
3.4 无副作用( fp) 。 将query 和命令分离
3.5 异常去替代返回值

===》 重点, 如何写出这样的代码? 打磨,重构。 大师的意境, 写代码如同讲故事。



2015-11-19 13:12:40 Roc

第四章 注释: 注释是弥补我们代码表现意图是的失败。 要想翻盘,就不要写注释惊人之语!
代码写的不清晰,用注释来阐述。(首先尝试重构)
代码与注释不同步演化。 ( 程序是唯一告诉真相的来源,而注释不同步会误导你)


> Roc的所有笔记(16篇)

说明  · · · · · ·

表示其中内容是对原文的摘抄