Clean Code学习笔记

Clean Code

有意义的命名

名副其实

指明计量对象、计量单位
避免魔法值

避免误导

避免与本意相悖
提防使用不同之处较小的名称
避免在名称中出现容器类型名
避免O01l

做有意义的区分

依意命名,注意对立区分(src 与 obj)
避免意义含混,避免相同意思却不同名称
避免废话冗余 (nameString \ UserTable.... are bad)

让大家能读得出来

主要是为了方便大家交流
避免自造词、使用恰当的正规词
更别说拼音了

使用可搜索的名称

这个就取决于项目命名习惯 
尽量与前辈保持一致
总结命名规律 方便快速搜索
资源文件、常量类等更要注重

避免使用编码命名

这条无视 现在不会有这个问题

避免思维映射 明确才是正道

类名/对象名为名词 方法名为动词

使用解决方案领域名称

添加有意义的语境

例如地址中的State 单独出现并不能知道其明确意义 可命名为AddState
但是看我们目前的代码并没有很好的这样做

当然也不要添加没用的语境

说到底 命名要让人看得懂 最重要 大家对这个类或方法会有类似甚至相同的命名 这样我就不必记忆具体命名 而有一套命名逻辑 直接找到对应的代码

函数

短小精悍 专注于单一功能呢

每个函数只有一个抽象层级

利用多态来确保switch语句埋藏在较低的抽象底层

使用描述性的名称

函数参数尽量少

如果出现三个及以上参数,那么说明基于需要将参数封装成类了
因为一些参数本身就组合成一组概念,例如坐标x,y两个参数可用一个Point类来作为入参。

确保函数无副作用

尽量避免使用输出参数

抽离tyy/catch

结构化编程

只有一个return
循环不要出现break/continue
不使用goto

无它,唯熟练耳

注释

一句话,被妄想注释能美化你的代码,还是老老实实把代码写好吧!
最好让代码自己来阐述,而不是注释

当然 有些注释是必须的 那你得写好

好注释是个啥

法律信息 
解释意图
阐释晦涩难懂的代码(最好还是把代码写的通俗易懂)
警示注释 TODO 重要代码放大
JavaDoC

坏注释

自言自语 多余废话 
误导性的注释往往具有破坏性
冗余

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伯子南

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值