变量、函数、类的命名规则

 更新时间:2011年08月14日 15:22:05   作者:  
在阅读clean code书籍的时候,让我体会很多,因此我也用文字记录下这些有意义的知识。我认为这本书读十遍都不为过,下面我讲解一下自己的关于变量、函数、类的命名规则笔记。
1、命名要名副其实:

  命名的时候一定要考虑他的显示意义和语境,不要认为把时间花费在变量的命名上很浪费。当然如果你程序很短的话,就不需要考虑那么多了,埋头就写代码。如果你的项目大,而且文件多的情况下,最好就是要花费时间在命名上,因为你的代码不仅仅只是你一个人看的。

2、避免误导:

  也就是说不要把其他平台的关键字拿来命名,比如说我使用javascript语言,而我设计了一个变量为int,这让人会很头疼,为什么要一个int变量呢,难道这段代码是C++。这样就会让人产生误导。如果你想一个整型变量你可以这样,var intNumber;

3、做有意义的区分:

  variable:永远不要拿来作为变量的名称、table永远不要拿来作为表的名称,等等。不要使用相似的命名,必须做有意义的区分,比如说:有一组变量,有些童鞋会这样命名,a1、a2、a3...,而如果我们根据他们的作用来命名效果会好很多。

4、使用容易读懂的名称:

  最好就是使用一段英文,或者英文短语,切莫一些中文,一些英文混合,或者单纯的中文。比如:我们想写一个函数作用是,切换语言:qieHuanYuYan,这样的话大家读起来就会一个个的去拼写,而且最后还不一定能够拼写成功,如果改为:changeLanguage效果会好很多。

5、使用可搜索的名称:

  我建议大家在使用阿拉伯数字的时候,最好能在代码的最开始,使用大写加下划线定义。比如说50度是一个人体能够承受的电力最大福特越界值,那么我们可以命名为:PEOPLE_MAX_VOLTA;当然我英语能力有点不好,但是基本是这个原理。如果单纯的使用50的话,会让人不知道这个是什么标准,如果变成变量就容易阅读。而且大家最好不要使用单个的英文字母,因为那样会造成相当大的麻烦,不仅仅是搜索,而且也难易理解。

6、避免使用编码:

  不要使用一些前缀命名,比如说加一个m_之类的,这样虽然可以多次命名,但是会让人难以读懂。

7、避免思维映射:

  避免单个名称,明确才是王道,不要以为你的单个名称别人看不懂,你就很牛逼。如果代码看起来像看小说一样,那才叫牛逼。

8、类名、方法名

  类名应当是名词、或者名词短语。例如:Customer、WikiPage,避免使用Maneger、Perocessor这类带有动作的词语;方法名,尽量的能够体现出这个方法的动作,所以最好使用动词,或者动词短语,例如:postMail、deletePage,等等。

9、每个概念对应一个词:

  给每个抽象概念选一个词并且一以惯之,例如使用get、方法,getMsg()、getUsername()、getUerId()等等。

10、不要使用双关语:

  避免同一个单词用于不同的目的,比如说add这个就不是很好,可以使用append这类词语替换他。

11、添加语境:

  就是给一些变量或者函数一些语境,比如说:这段变量,firstName、lastName、street、state,这些东西看起来我们都明白,但是我们都不知道他是描述什么的,如果加上address,改为;addressFirstName、addressLastName、addressStreet、addressState,这样的话就明朗很多了。

  大家在对变量、函数、类命名的时候一定不要害怕他很长,只要能够读懂就好,当然如果短能够描述的清楚的话,还是必须得选择短的,我是想说如果想描述清楚,不要害怕变量、函数、类的命名太长。

相关文章

  • json显示日期带T问题的解决方法

    json显示日期带T问题的解决方法

    使用json显示日期时,细心的朋友会发现带T字母,就是天数跟小时数之间出现了一个T,下面为大家介绍下具体的解决方法
    2013-10-10
  • linux系统使用vscode进行qt开发的过程分享

    linux系统使用vscode进行qt开发的过程分享

    最近在Linux上搞Qt,搞的一头雾水,小编把整个过程记录下,分享需要的朋友,如果大家对linux系统使用vscode进行qt开发相关知识感兴趣的朋友跟随小编一起看看吧
    2021-12-12
  • 如何设计一个几十万在线用户弹幕系统需求方案

    如何设计一个几十万在线用户弹幕系统需求方案

    这篇文章主要介绍了为大家如何设计一个几十万在线用户弹幕系统的需求实现方案详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪<BR>
    2023-05-05
  • 油猴脚本编写教程详解

    油猴脚本编写教程详解

    油猴脚本(Tampermonkey)是一个非常流行的浏览器扩展,它可以运行由广大社区编写的扩展脚本,来实现各式各样的功能,常见的去广告、修改样式文件、甚至是下载视频,今天给大家介绍油猴脚本编写教程,感兴趣的朋友一起看看吧
    2020-02-02
  • matlab 生成.bmp格式的文件

    matlab 生成.bmp格式的文件

    这篇文章主要介绍了matlab 生成.bmp格式的文件,本文以大小为M*N的图片为例,说明头文件格式和内容。需要的朋友可以参考下
    2018-10-10
  • Git 如何放弃所有本地修改的方法

    Git 如何放弃所有本地修改的方法

    这篇文章主要介绍了Git 如何放弃所有本地修改的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Git撤销已经推送(push)至远端仓库的提交(commit)信息操作

    Git撤销已经推送(push)至远端仓库的提交(commit)信息操作

    这篇文章主要介绍了Git撤销已经推送(push)至远端仓库的提交(commit)信息操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • 编程人员阅读代码的一些小技巧分享

    编程人员阅读代码的一些小技巧分享

    阅读别人的代码作为研发人员是一件经常要做的事情。一个是学习新的编程语言的时候通过阅读别人的代码是个最佳的学习方法,另外是积累编程经验。
    2011-01-01
  • vscode终端输出中文乱码问题解决图文教程

    vscode终端输出中文乱码问题解决图文教程

    我们在使用vscode的时候常会遇见各种问题,下面这篇文章主要给大家介绍了关于vscode终端输出中文乱码问题解决的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • 手把手教你学会HBuilder打包APP

    手把手教你学会HBuilder打包APP

    我们打包APP需要用到HBuilder,所以本文主要介绍了HBuilder下载安装以及如何使用,最后介绍如何打包app,感兴趣的可以了解一下
    2021-06-06

最新评论