编写可读代码的艺术(一)-- 表面层次的改进

编写可读代码的艺术(一)-- 表面层次的改进

代码应易于理解

1、代码应易于理解

关键思想:代码应该易于理解

1.1、代码的写法应当使别人理解他时间最小化

类、方法、变量应达到自注释,看到名称就可以知道含义

1.2、代码并不是越短越好

如果一行代码的可读性低于2行代码,那么应该写2行

2、把信息封装到名字里

关键思想:把信息封装进名字

eg:查询用户信息,query(), 改为listUserInfo();
2.1、 选择专业的词
// 获取用户信息
getUserInfo();

// 根据方法具体的内容将方法名调整为
fetchUserInfo();
// 或者
downloadUserInfo();

2.2、避免泛泛的名字
// before
boolean test = isUserExisted();
if (test){
	...
}

// after
boolean userExist = isUserExisted();
if (userExist) {
	...
}

2.3、用具体代替抽象
// 检测服务是否可以监听某个特定的TCP/IP端口
// before
void servertCanStart();

// after
void canListenOnPort();
2.4、使用前缀或者后缀表达更多的信息
void userName();

// 用后缀en标识用户英文名称
void userNameEn();
1.2.5、决定名字的长度

名字并非越长越好,例如UserBasicInfoFromChinaAndUsAndAmerican();名字避免过长,也避免单个单词,无法表达含义;

  • 局部作用域里可以使用短的名字
  • 作用域大的,如果没有合适的短名字,可以采用较长的名字
  • 缩略词代替整个单词
    但是,仅限于大家共识中的缩略词。比如:desc代替description,doc代替document,str代替string
  • 去掉没用的单词
    eg: convertToString,可以直接改为toString
2.6、利用名字的格式来表达含义

有目的的使用大小写、下划线等格式
eg:

// max_number 代表变量
max_number = 1000;

// 所有字母大写 代表常量
MAX_NUMBER = 1000;

3、不会误解的名字

本章关键思想:这个名字会给别人造成歧义吗

3.1、eg1:filter
User.filter(age < 12);
// 问题来了,User.filter()之后,获得的是age<12岁的,还是age>=12的,容易造成歧义
3.2、eg1:clip
clip(text, lengh);
// 问题来了,clip是剪切长度为lenth的内容,还是剪切后留下长度为length的内容
3.3、推荐使用min和max来表示包含的极限
int CAR_BIG_LIMIT = 100;
// 参数命名做调整,剪短,且易于理解
int MAX_ITEM_IN_CAR = 100;
3.4、推荐使用first、last来表示包含的范围

[first,last] 左开区间,右闭区间

3.5、推荐使用begin、end来表示范围

[begin,end) 左闭区间,右开区间

3.6、为布尔值命名时,用is、has作为前缀

避免使用反义词

4、注释

关键思想:尽量帮助读者了解和作者一样多

4.1、 不要写多余的无畏的注释
4.2、注释并不是越多越好,方法、代码最好自注释
4.2、为代码中的瑕疵写注释

TODO:待处理的事
FIXME:已知的无法运行的代码
HACK:对于一个问题,不得不采用的粗糙的解决方案
XXX:危险,这里有重要的问题

4.3、为常量写注释
4.4、为方法注释可能出现的陷阱
// 1分钟后,可能超市
void saveUser();

4.5、全局观注释

eg:为一个工具类添加注释:该类用于处理权限相关的基本问题

4.6、总结性注释

eg:为一个复杂的方法添加注释:迭代用户,根据用户的身份信息校验是否存在不合规行为

5、改写什么样的注释

关键信息:注释应该有相当高的信息/空间率

5.1、 it、this等代词可能指代多个事物时,应避免使用
5.2、尽量精确的描述函数的行为
5.3、在注释中用精心挑选的输入/输出例子进行说明
5.4、声明代码的高层次含义,而非细节
5.5、尽含义丰富的词来使注释简洁

[总结]编写可读代码的艺术

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编写可读代码艺术》 pdf 是一本关于如何编写易读易懂的代码的书籍。这本书主要探讨了编程规范、代码布局、注释与命名等方面的内容,旨在帮助开发者写出更具可读性的代码。 在编写可读代码方面,本书提供了一些实用的建议和技巧。首先,合理的代码布局对于代码可读性至关重要。代码应该按照功能块进行划分,并使用适当的缩进和空格进行格式化。此外,书中还强调了代码命名的重要性,建议使用有意义的变量、函数和类名,以便于他人读懂代码的意图。 此外,本书还介绍了如何编写清晰的注释。注释应该解释代码的意图和逻辑,而不是简单地重复代码的功能。良好的注释能够帮助其他开发者快速理解代码,从而提高合作效率。同时,书中还指出了过多或过少的注释都可能导致代码可读性下降,因此要把握好注释的适度。 编程规范也是写出可读代码的重要因素。本书介绍了一些常用的编程规范,例如代码缩进、命名规范、函数和类的定义等。遵循统一的编程规范可以使代码的格式统一,便于他人阅读和维护。 总的来说,《编写可读代码艺术》是一本对于如何写出易读易懂的代码进行探讨的实用指南。通过遵循良好的代码布局、规范的命名、清晰的注释等技巧,开发者可以提高代码可读性,从而更好地与他人合作,并加速项目开发进程。这本书对于任何追求编程方法优化的开发者来说,都是一本值得阅读的参考书籍。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值