###名副其实


以JAVA为例,在对代码中的各种类,接口,变量,方法,进行命名的时候,要采用有意义的命名,禁止使用无意义的字符及字符串,如:“a","ab"。
  可能很多的人,在学习一门语言的时候,没有对这个命名有特别的关注。

#####随便写几个字符或者字符串去指代


这样的方式虽然不好,但是并不是说没有优势,优势就在于:方便你个人的阅读,在代码量很少的时候,也方便暂时用此来快速的完成对一个小问题的验证。但是劣势也随之而来:一旦当代码量很大的时候,比如在一个大项目中,一旦采用这种方式,势必你的项目负责人会把你的头锤爆,写这种东西,让和你协作的其他人要花上巨多的时间去阅读,才能明白你的代码到底是如何意思。


#####那么如何规范自己的代码命名规则呢?

八个字”名副其实,词到意到”。
我还是简单罗列一下书中的几个观点

  1. 名副其实
      所谓名副其实,就是名字和意思要让人一目了然,不能模糊,尽可能不要缩写,除非是大家都比较认同的缩写,比如接口类名前要加个I,接口实现类名后要加个Impl,等等。千万别出现,无意义的命名,比如定义一个Car,就别搞个C出来。
      
      此处是视频链接—黑人小哥搞笑版你的名字
  2. 避免误导
      比如accountList来指代一组账号,除非它是真的List类型。因为List这个单词对于程序猿有特别的含义,如果包含账号的容器并非真的是个List,就会引起错误的判读。
      
  3. 不要添加没有用的语境
      这个就比如MyBigProject,然后在每个变量添加一个MBP的前缀,不觉得很多余吗?

###接下来分享一下阿里云的java代码规范干货
这个有点多,我敲一遍,也帮我自己复习一下

  1. 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或者美元符号结束。
  2. 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。
  3. 类名使用UpperCamelCase风格,但是一下情形例外:DO/BO/DTO/VO/AO/PO等。
  4. 方法名,参数名,成员变量,局部变量都统一使用lowerCamelCase风格,必须遵从驼峰形式。
  5. 常量命名全部大写,单词间用下划线隔开,力求语义表达清楚,不要嫌名字长
  6. 抽象类命名使用Abstract或Base开头:异常类命名使用Exception结尾,测试类命名以它要测试的类名开始,以Test结尾。
  7. 类型与中括号紧挨相连来定义数组。
  8. POJO类中布尔类型的变量,都不要加is前缀,否则部分框架解析会引起序列化的错误。
  9. 包名统一使用小写,点分隔符之间有且只有一个自然语义的英语单词,包名统一使用单数形式,但是类名如果有负数含义,类名可以使用负数形式。
  10. 杜绝完全不规范的缩写,避免望文不知意
  11. 为了达到代码自解释的目标,任何自定义编程元素在命名时,使用尽量完整的单词来表达其意。
  12. 如果模块,接口,类,方法使用了设计模式,在命名时体现出具体模式。
  13. 接口类中的方法和属性不要加任何修饰符号,保持代码的简洁性,并加上有效的javadoc注释。尽量不要在接口里定义变量,如果一定要定义变量,肯定是与接口方法相关,并且是整个应用的基础常量。
  14. 接口和实现类的命名有两套规则。
  15. 其一,对于Service和DAO类,基于SOA的理念,暴露出来的服务一定是接口,内部的实现类用Impl的后缀和接口区别。
  16. 如果是形容能力的接口名称,取对应的形容词为接口名(通常是-able的形式).
  17. 枚举类类名建议带上Enum后缀,枚举成员名称需要全大写,单词间用下划线隔开。
  18. 各层命名规约
  19. Service/DAO层命名规约
  20. 获取单个对象的方法用get做前缀。
  21. 获取多个对象的方法用list做前缀。
  22. 获取统计值的方法用count做前缀。
  23. 插入的方法用save/insert做前缀
  24. 删除的方法用remove/delete做前缀。
  25. 修改的方法用update做前缀。
  26. 领域模型命名规范
  27. 数据对象:xxxDO,xxx即为数据表名。
  28. 数据传输对象:xxxDTO,xxx为业务领域相关的名称。
  29. 展示对象:xxxVO,xxx一般为网页名称。
  30. POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。

以上都是自己的感受,如果有什么不对的话...

开玩笑的,如果有什么错的,欢迎各位指正。

代码整洁之道读书笔记----第二章---命名--第一节-名副其实相关推荐

  1. 《代码整洁之道》—第1章1.1节要有代码

    本节书摘来自异步社区<代码整洁之道>一书中的第1章1.1节要有代码,作者[美]Robert C. Martin,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第 ...

  2. 《代码整洁之道》—第1章1.4节思想流派

    本节书摘来自异步社区<代码整洁之道>一书中的第1章1.4节思想流派,作者[美]Robert C. Martin,更多章节内容可以访问云栖社区"异步社区"公众号查看. 1 ...

  3. 代码整洁之道读书笔记——第一章:整洁代码

    软件质量,不仅仅依赖于项目架构和项目管理,同样重要的是代码质量!!! 序 神在细节之中,其实干什么事都一样,从小到大,一直明白一个道理:细节决定成败! 软件架构在开发中占据重要地位.其次,宏达建筑的最 ...

  4. 代码整洁之道-读书笔记1

    第一章 整洁代码 1.2糟糕的代码 糟糕的代码会毁掉一个公司,但是为什么会出现糟糕的代码? 可能是因为赶时间,如果花时间重构或者清理以前的代码,老板就会大发雷霆. 勒布朗法则:稍后等于用不. 1.3混 ...

  5. 代码整洁之道-读书笔记之整洁的代码

    1.整洁代码 阅读本书有两个原因,第一,你是个程序员,第二,你想成为更好的程序员 1.1 要有代码 有人认为随着时代的发展,写代码不再是问题,我们更应该关注建模和需求 这句话后半句没有问题,因为语言在 ...

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

    第1章 整洁代码 1.1 要有代码 1.2 糟糕的代码      稍后等于永不 1.3 混乱的代价 假设前期不注意.后期的加入代码.改动效率都很低 1.3.1 华丽新设计 1.3.2 态度 1.3.3 ...

  7. 代码整洁之道读书笔记(Ch4-Ch7)

    这几章从注释.程序格式.对象与数据结构的规范以及错误处理四个方面介绍了如何使代码变得简洁易懂.不同于上次摘抄的方法,这一次我会结合第一次个人作业的代码进行分析. 第四章  注释 这一章告诉我们,好的注 ...

  8. 代码整洁之道----读书笔记

    一.有意义的命名规则 二.优雅的函数 三.良好的注释 四.整齐的格式 转载于:https://www.cnblogs.com/k5bg/p/11063235.html

  9. 《计算传播学导论》读书笔记——第二章文本分析简介

    <计算传播学导论>读书笔记--第二章文本分析简介 第一节 文本分析研究现状 常用文本挖掘技术 第二节 文本分析与传播学研究 (一)为什么文本挖掘技术逐渐受到传播学者的关注 (二)不同文本分 ...

  10. 什么是好代码-代码整洁之道阅读笔记

    根据我所阅读的书<代码整洁之道>里的一句话: "衡量代码质量的唯一有效标准: WTF/min" 从哲学的角度讲,不得不说这真的很客观!!! 毕业不久的我也没有太多关于好 ...

最新文章

  1. 2021 考研 基本常识
  2. Java NIO之Selector
  3. LeetCode 1004.最长连续1的个数
  4. 项目启动:java程序包不存在_ideaError:(3, 24) java: 程序包不存在的问题
  5. 使用.NET读取XML文件
  6. anaconda+python3.7安装keras_win10(64)+python3.7+Anaconda3+tensorflow-cpu+Keras安装(亲测有效)...
  7. android仿大众点评,仿大众点评android源码
  8. 2014.8.20日结
  9. 为项目编写Readme.MD文件
  10. python爬取商品信息
  11. oracle根据中文获取拼音全拼函数
  12. 教你win7免费升级到win10系统教程
  13. 计算机视觉 相机标定
  14. R语言notes(1)——行列处理
  15. 简单阶乘计算 (本题要求实现一个计算非负整数阶乘的简单函数)
  16. 【2020年高被引学者】 田奇 华为
  17. c语言与编程语言的区别,C语言与其他编程语言的区别
  18. ubuntu 内存占用过高导致卡死 解决办法
  19. 14015problem I 方案数
  20. 怎么制作小怪兽打凹凸曼的游戏~

热门文章

  1. npm升级所有可更新包
  2. 编写可靠 shell 脚本的 8 个建议
  3. 【mybatis深度历险系列】mybatis中的动态sql
  4. Scala的模式匹配和条件类
  5. WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED 问题
  6. Litespeed如何安装phpmyadmin/pureftpd
  7. 一核一g负载均衡不能超过多少_多核程序设计(考试题)
  8. javaaop模式供其他项目调用_结构性模型-静态代理模式
  9. 请确保dx环境安装正常后进行开播_虎牙直播助手常见问题汇总
  10. php如何接受用户邮箱发送信息,怎么将用户购物车的产品发送到邮箱