读《编写代码的艺术》

表面层次的改进重点是要将信息放到名字里,要使用专业的单词,避免tmp,val这类空泛的名字,使用具体的名字来更细致的描述事物,给变量名带上重要的细节。为作用域大的名字采用更长的名字,有目的的使用大小写和下划线。

命名要用不会误解的名字,假想自己是个新手,会被误解成什么意思。当为布尔值命名时,使用is和has这样的词来明确布尔值。不要使用否定的词。

审美,使用一致的布局,让读者很快习惯这种风格。让相似的代码看上去相似,把相关代码分组形成代码块。多个代码块做相似的事情,尝试让它们有相同的剪影。把代码按列对齐可以让代码更容易浏览。如果在一段代码中提到A,B,C,那么不要在另一段中说B,C,A,选择有意义的顺序并一直使用这样的顺序。用空行来把大块代码分成逻辑上的段落。

注释,目的是尽量帮助读者了解的和作者一样多。不需要注释的地方,能从代码本身中迅速地推断的事实,用来粉饰烂代码的拐杖式注释。

需要注释的地方,对于为什么代码写成这样而不是那样的理由,代码中的缺陷,使用像TODO,或者XXX这样的标记。常量背后的故事,以及为什么是这个值。站在读者的立场上思考,预料到代码中哪些部分读者会很惊讶的。为普通读者意料之外的行为加上注释。在文件/类的级别上使用全局观注释来解释所有部分是如何一起工作的。用注释来总结代码块,使读者不致迷失在细节中。

注释的精简,避免使用it,this这种代词。尽量精确描述函数的行为,在注释中精心挑选输入输出的例子拆分巨大表达式,1进行说明。声明代码的高层次意图,而非明显细节。用嵌入的注释来解释难以理解的函数参数,用含义丰富的词来使注释简洁。

循环和条件的控制流的精简。在写比较时,左边是改变的值,更稳定一些的值写到右边。重排if/else语句块时,先处理正确的/简单的/有趣的情况。某些编程结构如三目运算符,do/while,goto等尽量不要使用。增加阅读的难理解程度。避免嵌套过深。提前返回可减少嵌套并让代码整洁。

把巨大的表达式拆成小段,并用简单的名字描述子表达式来让代码文档化,帮助读者识别代码中的主要概念。1.可加入一些解释变量。2.摩根定理。

变量与可读性,减少中间变量的使用,减少每个变量的作用域,多一些只设置一次的变量。

用自然语言去描述要做的事情,之后再去想怎么实现。

怎样写出质量高的代码。从项目中消除不必要的功能,不过度设计。重新考虑需求,解决版本最简单的问题,只要能完成工作就行。经常性的去通读标准库的API。保持对它们的熟悉程度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值