首页 > 学院 > 开发设计 > 正文

Clean Code 读书笔记

2019-11-08 02:30:15
字体:
来源:转载
供稿:网友

整洁代码

勒布朗法则: 稍等等于永不 (Later equals never)

程序一开始就要好好写,不要想着以后来维护


保持代码的整洁,不但关乎效率,还关乎生存


读与写时间的比例超过10:1。写新代码的时候,我们一直在阅读旧的代码。


童子军军规:让营地比你来的时候更干净。

有意义的命名

不变逻辑,通过修改变量名称。构建方法,使得逻辑清晰。

x[0] == 4cell[STATUS_VALUE] == FLAGGEDcell.isFlagged()

NameString 会比 Name 好吗? 难道Name会是一个浮点数不成?

不说废话


类名和对象名使用名词或者名词短语 方法名使用动词或者是动词短语

//类名Customer,Wikipage,Account//方法名postPayment,deletePage,save

函数

函数20行封顶


函数应该做一件事情。做好这件事请。只做这件事请。

自顶向下设计程序,在一个抽象度上,拆分需要完成的步骤。


使用异常替代返回错误码

避免层层嵌套出错,通过异常替代机制。


抽离Try/Catch

将Try/Catch内部的主体,抽取出来,单独形成函数。

注释

 实际上,注释最多也就是一种必须的恶。若编程语言具有足够的表达力,就跟本不需要注释

通过合理的命名和函数的拆分来实现零注释。


花时间写注释,不如之间重构代码!


用代码来阐述

// Check to see if the employee is eligible for full benefitsif((employee.flags&HOURLY_FLAG)&&(employee.age>65)){ dosomething()}if(employee.isEligibleForFullBenefits())

必要的注释: 法律信息,作者信息,TODO注释,编写公共API.

格式


整个团队统一的编码风格,例如单个文件的大小。


某个函数调用了另外一个,调用函数应该在被调用者的上面


纵向上,空行,用来区别逻辑 横向上,空格,用来区别逻辑


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表