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

翻译 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.

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

在每个代码范围内使用足够短和足够长的名称:例如循环计算器用一个字符就可以了,如i;条件和循环变量用一个单词,方法名1-2个单词,类名2-3个单词,全局变量3-4个单词组成为变量指定一些专门名称,不要使...
  • zlb824
  • zlb824
  • 2012年03月20日 17:27
  • 405

[译]Java 15条变量&方法命名的最佳实践

命名方式 技巧

Atitit. 软件设计 模式 变量 方法 命名最佳实践 vp820 attilax总结命名表大全

Atitit. 软件设计 模式 变量 方法 命名最佳实践 vp820 attilax总结命名表大全    1. #====提升抽象层次 1 2. #----使用通用单词 1 3. #===...
  • attilax
  • attilax
  • 2015年08月20日 15:21
  • 736

Property和实例变量(Ivar)的最佳实践

http://blog.sina.com.cn/s/blog_af73e7a70102uwmf.html Property应该代表一个对象的状态,Getter应该没有外部影响(它...

项目管理最佳实践方法.pdf

  • 2013年05月11日 17:02
  • 120.37MB
  • 下载

使用OBS+Azure Media Service+CDN进行直播,配置方法及最佳实践

本文基于在Azure Media Service进行直播的实战经验,总结了一些配置方法和技巧。...

大数据管理:数据集成的技术、方法与最佳实践 读书笔记四

这次简单的了解了下数据转换和数据归档 什么是数据转换 在实现一个新的应用系统,或者将操作从某个应用系统改变到另外一个应用系统时,就有必要搞清楚新应用 系统的数据结构。某些情况下,新应用系统的数据...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:方法和变量命名的最佳实践
举报原因:
原因补充:

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