是否有变量命名约定的简明目录?
-
04-07-2019 - |
题
多年来我遇到过许多不同风格的变量名称。
当前关于命名约定的维基百科条目相当简单......
我希望看到变量命名约定的简明目录,通过名称/描述和一些示例来识别它。
如果某个公约特别受到某个平台社区的青睐,那也值得注意。
我正在将其转变为社区 wiki,因此请为每个约定创建一个答案,并根据需要进行编辑。
解决方案
我见过的最佳命名约定集在书中“代码完整" Steve McConnell在这里有很多关于命名约定和大量例子的部分。他的例子贯穿了许多“最佳实践”。对于不同的语言,但最终由开发人员,开发经理或架构师决定具体行动。
其他提示
PEP8 是Python代码的样式指南,是标准库,在Python社区中相对有影响力。对于奖励积分,除了涵盖Python标准库使用的命名约定外,它还提供了一般命名约定的概述。
根据PEP8:标准库中的变量,实例变量,函数和方法应该使用由下划线分隔的小写单词以便于阅读:
foo
parse_foo
a_long_descriptive_name
要区分名称和保留字,请附加下划线:
in_
and_
or_
弱私有名称(不是由'M import *'导入)以单个下划线开头。使用名称修改强制执行隐私的名称以双下划线开头。:
_some_what_private
__a_slightly_more_private_name
Python'特殊'方法的名称以双下划线开头和结尾:
__hash__ # hash(o) = o.__hash__()
__str__ # str(o) = o.__str__()
Sun发布了Java 此处的变量名称约定列表一>。该列表包括命名包,类,接口,方法,变量和常量的约定。
变量状态部分
除变量外,所有实例,类和类常量都是小写的第一个字母。内部单词以大写字母开头。变量名不应以下划线_或美元符号$字符开头,即使两者都是允许的。
变量名称应该简短而有意义。变量名称的选择应该是助记符 - 即旨在向不经意的观察者表明其使用的意图。应避免使用单字符变量名称,但临时“一次性”变量名称除外。变量。临时变量的通用名称是整数的i,j,k,m和n; c,d和e表示字符。
一些例子包括
int i;
char c;
float myWidth;
Einar Hoest的“Java程序员短语手册”。
他分析了方法名称的语法结构以及方法体的结构,并收集了如下信息:
add- [noun] - * 这些方法通常有参数和创建对象。 他们很少返回字段值。 这个短语几乎全部出现 应用
etcetera ...从数百个开源项目中收集。
有关更多背景信息,请参阅他的 SLE08纸。