《编写可读代码的艺术》总结与分享

《编写可读代码的艺术》

本书是一本帮助代码写的更好的书,本人阅读时间为国庆一周,读完觉得这本书很有意思,因此准备做个总结,但是厌烦了很多书的总结,枯燥乏味且罗里吧嗦,把书的目录和章节列出来,并且每个部分讲点就结束,实在是即浪费自己的时间也浪费别人的时间,因此本人尽量用精简和核心的话,去重新理解这本书。我决定用新的方式去理解这本书,每个章节、知识点都先用一句话去概括。

本书目的

一句话概括:本书的最终目的是如何写出让别人容易理解的代码。
(你是否看到别人的代码一头雾水,各种稀奇古怪的拆分,各种乱糟糟的函数体,一个方法中几百行,不断涌现的成员变量,各种地方的判空,寥寥无几的注释,我们无法改变别人,但是可以改变自己避免成为这样的人。)

本书结构

一句话概括:从外表(变量名、注释、排版)到内在(更容易理解的逻辑和结构)

1. 外表(变量名,注释,排版)

一句话概括:

  • 变量名需要携带更多的信息,类型也好,功能也好,同时作用域越大,变量名也应该涵盖的信息越多。
  • 写出让读者理解代码的注释(类级别写全局观的注释,具体细节写怎么做,有坑的地方写很难处理)
  • 使用换行与列对齐将“相似的代码看起来很相似”,优化代码的顺序使其更美观,复杂的流水线步骤代码添加空行分割步骤

1.1 变量名

变量名对于他人阅读代码起到了决定的作用,可以通过变量名了解做了哪些事,因此避免tmp和retval无意义的名字,也需要避免多重循环中i,j,k的使用造成理解的混乱。
那么,如何才能写出优雅的变量名呢?

  • 从变量的外观,也就是名字的长度来说,名字越长越难理解,但同时涵盖信息会越多,因此在小的作用域里可以采用非常简单的短名字,而在较大的作用域中,需要涵盖更多信息表达更清楚。尽管短名字是好事,但是不可以为了故意缩短而采用奇葩的缩写,至今都很难理解PYMK,people you may know,这种PYMK无意义的全是辅音的缩写是谁造出来的,也许doc代替document很正常,但是新人真的很难理解BEManager意思是BackEndManager。

  • 从变量的结构来说,对于度量单位、特殊进制等,需要加上单位,比如size改为size_mb,delay改为delay_secs等,十六进制的id改为hex_id。因此成员变量中往往会添加m,比如mTextView,m代表的是member,因此可以直接在代码中发现mTextView.setText,你也知道是成员变量的方法,而不是局部变量的方法。

  • 从变量的意义来说,最好的变量不会产生误解,那么什么样的变量名才会产生误解,①通常来说发生在边界情况,比如max,min,begin,end,first,last,max和min用来描述最大最小,begin和end用来描述第一个和最后一个的下一个,first和last用来描述第一个和最后一个。②通常来说约定俗成的方法名,例如get(),size(),通常情况下认为这两个方法都是轻量级的,如果复杂度过高可以加上令人感到有负担的词,比如getFrom.....,countSize..等等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值