方法和变量命名的最佳实践

翻译 2016年12月23日 00:14:07

https://dzone.com/articles/best-practices-variable-and

最近在做代码review的工作,为了让大家的写出来的代码的可读性更强,因此做了一些研究,刚好在网上找到一篇不错的文章,于是笔者就不再重新发明轮子了,同时为了表示对原作者版权的尊重,因此把其翻译出来供大家参考!!!


方法和变量命名的最佳实践

@使用合适长度的变量名称

一般来说,对于循环语句的计数器,一个字符即可;对于循环的条件变量一个单词即可,对于方法一般1到2个单词,对于类一般2~3个单词;对于全局变量,一般3~4个单词

@ 对于一些特殊的单词,最好不要加上,以免画蛇添足,比如,“value”,“”equals”,“data”,“bean”....

@ 使用有意义的名称变量,变量的名字必须足够解释其用途或者内涵

@不要在变量的开通使用o_, obj_, m_ 等,变量不需要标签去表明其是一个变量

@遵守公司的命令规范同时保持命令规范的一致性, 比如UserName, UserName, USER_NAME, m_userName, username, ...

   # 为类使用驼峰命名法,比如VelocityResponseWriter

   # 对于包名全部使用小写字符:com.company.project.ui

   #对于变量名混合大小写:studentName

   # 对于常量,全部使用大写:MAX_PARAMETER_COUNT = 100

   # 对于枚举类使用驼峰命名法,对于枚举的值使用大写

 @不要在任何地方使用 '_',除非描述的常量或者枚举值。

 @ 不要在同一个类中的不同上下文中多次使用同一个名称,比如在方法,构造函数或者类中。尽量提供简单并维护性比较强的名称

@ 对于不同的目的,不要在使用同一个名称,比如方法或者条件判断中;创建一个新的有不同意义的名称去代替,尽量提供简单并维护性比较强的名称。

@不用使用非ASCII字符; 因为程序是你写的,你需要在你自己的平台上去部署和维护。
Don't use too long variable names (e.g. 50 chars). Long names will bring ugly and hard-to-read code, also may not run on some compilers because of character limit.

@ 不要使用长变量名称(比如50字符),长变量名称非常的丑陋而且很难阅读,而且在一些编译器上也不支持。

@ 最好使用同一门自然语言,千万不用混合不同的语言,比如德语和英语,否则会造成代码非常的难以阅读。

@ 使用有意义的名称去描述方法。方法的名称必须恰如其分的描述方法的目的和动作且大部分的情况下都应该以动词开头,createPasswordHash

@ 遵守编程语言本身的规范,在整个项目中需要统一风格,在各个地方都要保持大写规则一致,比如getUserName, GetUserName, getusername, ...

@ 对于Java来说,

    #方法的首字母小写,getStudentSchoolType 

   #方法参数名首字符小写,setSchoolName(String schoolName)

   # 对于方法名称,使用有意义的方法参数,这样方法名称就能自我描述方法,而不需要额外的文档去维护。


具体原文内容如下:

Best Practices for Variable and Method Naming
Use short enough and long enough variable names in each scope of code. Generally length may be 1 char for loop counters, 1 word for condition/loop variables, 1-2 words for methods, 2-3 words for classes, 3-4 words for globals.
Use specific names for variables, for example "value", "equals", "data", ... are not valid names for any case.
Use meaningful names for variables. Variable name must define the exact explanation of its content.
Don't start variables with o_, obj_, m_ etc. A variable does not need tags which states it is a variable.
Obey company naming standards and write variable names consistently in application: e.g. txtUserName, lblUserName, cmbSchoolType, ... Otherwise readability will reduce and find/replace tools will be unusable.
Obey programming language standards and don't use lowercase/uppercase characters inconsistently: e.g. userName, UserName, USER_NAME, m_userName, username, ...
 
use Camel Case (aka Upper Camel Case) for classes: VelocityResponseWriter
use Lower Case for packages: com.company.project.ui
use Mixed Case (aka Lower Camel Case) for variables: studentName
use Upper Case for constants : MAX_PARAMETER_COUNT = 100
use Camel Case for enum class names and Upper Case for enum values.
don't use '_' anywhere except constants and enum values (which are constants).
For example for Java, 
Don't reuse same variable name in the same class in different contexts: e.g. in method, constructor, class. So you can provide more simplicity for understandability and maintainability.
Don't use same variable for different purposes in a method, conditional etc. Create a new and different named variable instead. This is also important for maintainability and readability.
Don't use non-ASCII chars in variable names. Those may run on your platform but may not on others.
Don't use too long variable names (e.g. 50 chars). Long names will bring ugly and hard-to-read code, also may not run on some compilers because of character limit.
Decide and use one natural language for naming, e.g. using mixed English and German names will be inconsistent and unreadable.
Use meaningful names for methods. The name must specify the exact action of the method and for most cases must start with a verb. (e.g. createPasswordHash)
Obey company naming standards and write method names consistently in application: e.g. getTxtUserName(), getLblUserName(), isStudentApproved(), ... Otherwise readability will reduce and find/replace tools will be unusable.
Obey programming language standards and don't use lowercase/uppercase characters inconsistently: e.g. getUserName, GetUserName, getusername, ...
For example for Java, 
use  Mixed Case  for method names: getStudentSchoolType 
use  Mixed Case  for method parameters: setSchoolName(String schoolName)
Use meaningful names for method parameters, so it can documentate itself in case of no documentation.

对编程语言中变量命名方法的探讨和常用规范

风格优美的程序,读起来就像读一篇流畅的文章。清晰易懂又给人以美感。 看着教材和例程中糟糕的编码风格,再看着同学发来的,模仿那些的拙劣的编码。我决定写出这篇文章,谈一谈我对编程规范的拙见。 ...
  • u014048385
  • u014048385
  • 2014年11月15日 09:52
  • 988

Activity(活动)的最佳实践

下面是几种关于活动的最佳实践技巧,这些技巧在以后的工作中非常受用。 1.知晓当前是在哪一个活动 这个技巧将教会你,如何根据程序当前的界面就能判断这是哪一个活动。 第一步:新建一个BaseAct...
  • jdfkldjlkjdl
  • jdfkldjlkjdl
  • 2015年08月28日 16:19
  • 917

变量命名方法

骆驼命名(CamelCase),也叫驼峰命名(HumpCase) myTestValue,这是”小骆驼命名法”(LowerCamelCase) MyTestValue,这是”大骆驼命名法”(Upp...
  • u014711094
  • u014711094
  • 2018年01月14日 17:23
  • 16

基于ITIL最佳实践的ITSM解决方案

囫囵吞枣理论,对其不是很理解,先进行收藏。      帮助服务支持和交付创建有效的高质量管理流程      ServiceWise ITIL 解决方案,遵从多种ITIL框架,包含事件、问题和变...
  • u013037201
  • u013037201
  • 2016年03月22日 11:22
  • 748

如何给变量命名-彻底告别变量命名的苦恼

变量名的力量 看完代码大全第11章『变量名的力量』,我想根据我们目前 最容易遇到的以及对于我们目前最需要重视的方面,提炼出一些书中的精华。在这经典之上再进行浓缩一下。 解释一个概...
  • AndyNikolas
  • AndyNikolas
  • 2017年01月29日 17:49
  • 3721

Shell 变量的命名 (二)

shellName=“hello,沐淼!” 注意:变量名和等号之间不能有空格; 首个字符必须为字母(a-z  A-Z)中间不能有空格,可以是下划线不能使用标点符号不能使用bash里的关键字 变量的...
  • mqf163
  • mqf163
  • 2017年05月11日 11:57
  • 1449

HTTPS 安全最佳实践

HTTPS 安全最佳实践(一)之SSL/TLS部署 https://blog.myssl.com/ssl-and-tls-deployment-best-practices/ HTTPS 安全最佳...
  • xl_lx
  • xl_lx
  • 2018年01月16日 15:32
  • 32

15 个变量和方法命名的最佳实践

1、在每个代码范围内使用足够短和足够长的名称:例如循环计算器用一个字符就可以了,如i;条件和循环变量用一个单词,方法名1-2个单词,类名2-3个单词,全局变量3-4个单词组成 2、为变量指定一些...
  • wzk456
  • wzk456
  • 2015年04月24日 12:59
  • 288

变量命名的三种方法

转载地址:http://blog.csdn.net/arthur_d/article/details/8263294 一、匈牙利命名法【Hungarian】:       广泛应用于象...
  • fcauto2012
  • fcauto2012
  • 2017年04月10日 16:24
  • 132

黑马程序员-我的第七篇学习日记:OC成员变量名的命名规范,set方法和get方法

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ---------------------- 成员变量的命名规范: 1.一定要_开头 2...
  • aghSDSFG
  • aghSDSFG
  • 2014年03月29日 11:49
  • 471
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:方法和变量命名的最佳实践
举报原因:
原因补充:

(最多只允许输入30个字)