《编写可读代码的艺术》读书笔记(上)表面层次的改进
2016-12-29 13:37
239 查看
最近在看编写可读代码的艺术,在这里记录一下点点滴滴
写好的注释
把代码整洁的写成更好的格式
选择好的名字(名称语义化)
+ 选择专业的词 (不使用Get,使用Fetch或者Download等更专业的词)
+ 避免泛泛的名字(例如temp)
+ 用具体的名字代替抽象的名字
+ 使用前缀或后缀来给名字附带更多信息
+ 决定名字的长度(小的作用域使用短的名字,丢掉没有用的词ConvertToString简介为ToString)
+ 利用名字的格式来表达含义(例如大写代表常量min和max等)
代码整洁的写成更好的格式(提高审美)
使用一致的布局,让读者很快就习惯这种风格
让相似的代码看上去相似
把相关的代码行分组,形成代码块
- 重新安排换行来保持一致和紧凑
- 用方法来整理不规则的东西
- 在需要时使用列对齐
- 选一个有意义的顺序始终一致的使用它
- 把声明按块组织起来(比如方法和变量声明应该自成一块)
- 个人风格的一致性(一致的风格比“正确”的风格更重要)
该写什么样的注释(注释物有所值)
不要为了注释而注释
不要给不好的名字加注释(先把名字改好)
记录你的思想
加入导演评论(自己的见解)
为代码中的瑕疵写注释(同时可以写一些要做的事)
给常量加注释
站在读者角度
公布可能的陷阱
全局观注释(团队的新成员快速熟悉代码)
总结性注释
克服作者心理阻滞
写出言简意赅的注释(注释应当有很高的信息)
让注释保持紧凑
避免使用不明确的代词
润色粗糙的句子
精确的描述函数(方法)的行为
声明代码的意图
采用信息含量高的词
代码应当易于理解
可读性基本定律:代码的写法应当使被人理解它所需的时间最小化,但并不是越小越好,要注意理解代码所需的时间是否与其他目标有冲突第一部分:表面层次的改进
选择好的名字写好的注释
把代码整洁的写成更好的格式
选择好的名字(名称语义化)
+ 选择专业的词 (不使用Get,使用Fetch或者Download等更专业的词)
+ 避免泛泛的名字(例如temp)
+ 用具体的名字代替抽象的名字
+ 使用前缀或后缀来给名字附带更多信息
+ 决定名字的长度(小的作用域使用短的名字,丢掉没有用的词ConvertToString简介为ToString)
+ 利用名字的格式来表达含义(例如大写代表常量min和max等)
代码整洁的写成更好的格式(提高审美)
使用一致的布局,让读者很快就习惯这种风格
让相似的代码看上去相似
把相关的代码行分组,形成代码块
提高代码审美的技巧
- 重新安排换行来保持一致和紧凑
- 用方法来整理不规则的东西
- 在需要时使用列对齐
- 选一个有意义的顺序始终一致的使用它
- 把声明按块组织起来(比如方法和变量声明应该自成一块)
- 个人风格的一致性(一致的风格比“正确”的风格更重要)
该写什么样的注释(注释物有所值)
不要为了注释而注释
不要给不好的名字加注释(先把名字改好)
记录你的思想
加入导演评论(自己的见解)
为代码中的瑕疵写注释(同时可以写一些要做的事)
给常量加注释
站在读者角度
公布可能的陷阱
全局观注释(团队的新成员快速熟悉代码)
总结性注释
克服作者心理阻滞
写出言简意赅的注释(注释应当有很高的信息)
让注释保持紧凑
避免使用不明确的代词
润色粗糙的句子
精确的描述函数(方法)的行为
声明代码的意图
采用信息含量高的词
相关文章推荐
- Java与模式之装饰(Decorator)模式
- 基于C# Winform的串口数据接收
- 1 springBoot 建立web 项目
- PHP之坑(以此记录,下次可绕开)
- python实例手册
- UVA227
- SpringBoot(一)_Eclipse的安装和使用
- nmealib代码分析
- java-02
- java.util.ResourceBundle使用详解
- yii2 Bad Request (#400)---Unable to verify your data submission
- lnmp(php5.6+)+composer+yii2安装全过程整理
- 记录java基础学习1
- Google Map问题
- Sublime Text3 + Golang搭建开发环境
- struts2入门
- python 实现递归删除文件和文件夹
- 后台使用国际化
- 【Spring实战】----Security4.1.3鉴权之美--基于投票的AccessDecisionManager实现及源码分析
- go 正则匹配