给代码命名真的是一件很头疼的事情,对于命名规则,有一些基础的编码者,都会知道使用驼峰命名,比如userName,designPattern这样的驼峰命名法,这很酷,还有命名的时候不要使用什么int a、int b 这样的命名,但除此之外呢?命名的时候还需要做写什么?在《代码整洁之道》这本书中,对命名规则有其他需要值得我们学习的地方,让我们来看看

1、命名要有意义

如何去表示多少天这个概念,int day?这看上去是个不错的选择,至少在我很长一段时间都喜欢这样取名字,但其实这样取名字是不好的,因为day这个概念是一个广义的概念,可以在它的基础上根据业务场景延申出很多day,比如elapsedTimeInDay(拖延天数),daysSinceCreation(创建天数)等,可能最开始你的类里面需要一个字段,记录某个计划执行了多少天,你int day记录这个字段,在后期,又需要加其他的比如超时时间,你又需要加一个day表示,但是因为已经有一个day字段了,所以只能定义成一个overtimeDay,这样你的方法中,有一个day,一个overtimeDay,这对代码可读性来说简直是灾难,如果你想去修改其中一个变量,那就得修改所以使用这个day变量的代码,数据库字段名称,与其这样,比如取名的时候就不要为了图方便而随意取名,要考虑后期扩展。

2、避免误导

l、o在编辑器中,很容易被误认为是1和0,应该避免使用起来定义变量,定义类名,类的名称避免和一些常用的API类名称重合,会导致在使用的时候分不清哪个是自己的,哪个是api的

3、使用能读出来的单词作为变量名称

我们作为名称的单词应该做到是可以读出来的单词,有时候我们需要描绘的事务,可能需要好几个单词才能表达我们的意思,比如(发送信息模拟器)Sending information simulator,不推荐为了压缩命名的长度,简写成sis或者是siSimulaor这种格式,长的读的出名字的单词命名大于短的失去其含义的单词更能表达代码的意义。

4、使用常量去代替固定的字符

int salary = 0;for(int i=0; i<21; i++){salary += 190;}System.out.println(salary);

看下面这段简单的代码,计算21天的工资并输出,在这里一眼就能明白,因为代码很少,没有上下文的干扰,但是如果是在一段复杂的业务逻辑中,当你看到这段代码中的两个数字,21和190,你能立刻知道这是什么意思么?如何去改进这段代码使其能更容易理解?

运用常量去代替固定的符合,有助于理解,还有在全文检索的时候

ACTUAL_WORKING_DAYS 也比21更容易找到

5、避免使用成员前缀

在《代码整洁之道》书中,作者不推荐使用成员前缀,就是IService,m_apple这种,用I表示这个类是个接口,m_表示这是个成员变量。

6、坚守自己的命名,不要被他人影响

并不是每个人都会严格遵循命名的规范,可能你的前辈为了项目进度,或者懒得像,在一个函数中,同时出现了list1,list2,list3,在你接手后,不要有反正这代码已经很烂了,那我也定义一个list4,list5,千万不要有这样的心态

7、命名应该严谨,不要开玩笑

可能你觉得代码好无聊,就想用一些梗作为命名,比如说robberyShop(抢劫),定义成zeroDollarPurchase(零元购),不要这样,可能后来会让接收你代码的人一头雾水

注:零元购一般用来嘲讽美国一些人在暴乱的时候组团打劫商店;

8、类名和方法名

类名应该是一个名词,方法名应该是一个动词

9、使用所涉及领域的专有名词

我们开发的软件涉及各个领域,有些领域的一些名词并不是简单的逐字翻译,他们有他们的专有名称,比如说你做的是一个音乐相关的软件,里面有一个名称,八分音符

外文名Eight note,那 你就不应该定义成Eight  music symbol,专有名词的命名应当仔细确认,而不能想当然的命名。

10、不要用近义词

vehicle,和car都有表示车的意思,date和time都有表示时间的意思,organization和department都有表示组织部门的意思,千万不要在写代码命名的时候,一会儿用这个单词命名,一会儿又用另一个单词命名,如果一个函数中同时出现了car和vehicle,希望接手你代码的老哥不会骂你

总结

大概就总结这10条,我觉得比较有用的,比较贴合于实际生产的,应该是1,2,3,4,6,7,10

好了,我总结完了,之后再总结一下关于函数代码规范

代码整洁之道--命名规范相关推荐

  1. (读书笔记)代码整洁之道-命名部分

    代码整洁之道读书笔记 有意义的命名 (只是做个笔记加深记忆,并且可以时不时提醒自己) 命名应该明确 它为什么存在,它能做什么事,它怎么用 达到在不用注释的情况下说明意义 避免产生误导 比如可能的专有词 ...

  2. 【好书推荐】你想要的编码规范都在这里 | 《代码整洁之道》

    目录 一.引言 二.书籍简介 三.好代码自己会说话 1. 清晰的变量命名规范 2. 好注释与坏注释 3. 错误处理 四.总结 一.引言 你好,我是小雨青年,一名程序员. 今天为你推荐的书籍是<代 ...

  3. 《代码整洁之道》(Clean Code)- 读书笔记

    一.关于Bob大叔的Clean Code <代码整洁之道>主要讲述了一系列行之有效的整洁代码操作实践.软件质量,不但依赖于架构及项目管理,而且与代码质量紧密相关.这一点,无论是敏捷开发流派 ...

  4. 代码整洁之道(Clean Code)- 读书笔记

    Sorry, 许久未更新文章了,主要因为刚刚换了一家新公司,忙于组建团队(建设.招聘.流程.框架等)与熟悉公司业务,还有领导给的其他工作等等,实在是没有时间更新了.最近在和团队分享Bob大叔的< ...

  5. 《代码整洁之道 Clean Architecture》-读书笔记

    大家好,我是烤鸭: 关于<代码整洁之道>,记录一下读书笔记. 代码整洁之道 第一章 整洁代码 整洁代码的艺术 第二章 有意义的命名 避免误导 有意义的区分 使用读得出来和可搜索的名字 避免 ...

  6. 代码整洁之道 Clean Code 读书笔记

    目录 代码整洁之道 Clean Code 第一章 整洁代码 第二 三章 命名与函数 第四 五章注释与格式 第六章 对象和数据结构 第七章 错误处理 第八章 边界 第九章 单元测试 第十章 类 第十一章 ...

  7. 代码整洁之道培训总结

    作者:翁松秀 代码整洁之道培训总结 文章目录 代码整洁之道培训总结 1. 本次培训的总结 1.1培训目的 1.2代码简洁--思想总结 1.3代码简洁--函数总结 1.4代码简洁--重构总结 1.5代码 ...

  8. 《代码整洁之道 clean code》 读书笔记(上篇)

    <代码整洁之道 clean code> 读书笔记(上篇) 这本书我准备用较快的时间来读一下,简单记录一下自己的一些读完的感悟,因为更多地编码技巧还是需要在实际编程和读源码的过程中进行锤炼. ...

  9. 详细总结《代码整洁之道》 - 基础篇

    本文概述 本文详细总结了本书<代码整洁之道>前文部分的知识点.梳理的具体内容如下:命名规范需要注意的地方:如何编写函数里的代码以及函数之间放置的位置:注释需要注意的地方,代码格式以及在某些 ...

最新文章

  1. 创业公司做数据分析(三)用户行为数据采集系统 (转)
  2. 怎么样尽可能多的学习
  3. 成年人的低头,从拼多多开始
  4. 成电计算机学院保研率,985一条街的街友们,我就想问问电子科技大学(成电)到底是什么水平的学校啊!...
  5. 自我接纳_接纳预测因子
  6. 简单调试 Python 程序
  7. 写出漂亮代码的七种方法
  8. C++中字符串转换函数to_string
  9. 【VS Code配置matlab】手把手教学,matlab也能自动补全+瞬间启动+代码整理!
  10. java main传入参数_向java的main()传入大量参数
  11. c语言调用aida64温度,关于aida64软件cpu温度的问题
  12. 老男孩python最新15期课程安排_老男孩Python完美实战课程 14期视频教程 28周Python视频教程 15-25周部分...
  13. 苹果微信换行怎么打_微信两根毛表情怎么打出来?左右小辫子符号苹果安卓手机教程介绍...
  14. 在Windows系统上对hfds中的文件进行操作
  15. apk闪退_解决安卓手机闪退的通用办法!
  16. 笔记本同时内外网双网网卡上网(网线不能连外网,wifi可以连外网)
  17. 如何在Dockerfile中发表评论?
  18. 有偏估计 无偏估计
  19. m2e-wtp error: path/target/m2e-wtp/web-resources/META-INF/MANIFEST.MF (No such file or directory)
  20. Javaweb1:HTML、各种标签

热门文章

  1. 微信小程序云开发笔记
  2. 林轩田之机器学习课程笔记(when can machines learn之learning problem)(32之1)
  3. 唐僧是如何管理人才的
  4. 南阳oj忙命逃窜,bfs
  5. 世界地球日——“珍爱地球 人与自然和谐共生”主题知识竞赛
  6. C语言基础教程 之 字符型:char
  7. 自动化工具后起之秀Ansible的部署实践
  8. 酷睿i7 1260p和i7 1280p差距 选哪个好
  9. C语言保留小数相关问题
  10. Opencv4测试报错00007FFB3253A9C0 (ntdll.dll)处引发的异常