多年来我遇到过许多不同风格的变量名称。
关于命名约定的当前维基百科条目相当轻松......
我希望看到变量命名约定的简明目录,通过名称/描述和一些示例来识别它。
如果某个会议特别受某个平台社区青睐,那也值得注意。
我将其转变为社区维基,所以请为每个约定创建一个答案,并根据需要进行编辑。
答案 0 :(得分:4)
我见过的最好的命名约定集在“Code Complete”一书中。史蒂夫麦康纳尔在那里有很多关于命名约定和大量例子的章节。他的例子针对不同语言运行了许多“最佳实践”,但最终还是由开发人员,开发经理或架构师决定具体行动。
答案 1 :(得分:2)
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__()
答案 2 :(得分:1)
Sun发布了Java here的变量名约定列表。该列表包括命名包,类,接口,方法,变量和常量的约定。
变量状态部分
除变量外,所有实例,类和类常量都是小写的第一个字母。内部单词以大写字母开头。变量名不应以下划线_或美元符号$字符开头,即使两者都是允许的。
变量名称应该简短而有意义。变量名称的选择应该是助记符 - 即旨在向不经意的观察者表明其使用的意图。除临时“一次性”变量外,应避免使用单字符变量名。临时变量的通用名称是整数的i,j,k,m和n; c,d和e表示字符。
一些例子包括
int i;
char c;
float myWidth;
答案 3 :(得分:1)
无论您的命名惯例是什么,通常都不允许您轻松区分:
我使用基于indefinite article(a,an,some)用于局部变量的命名约定,而没有用于实例变量的文章,如关于variable prefix的问题中所解释的那样。 / p>
所以前缀(我的方式或列出的任何其他前缀in that question)可以是一种改进变量命名约定的方法。
我知道你的问题不仅限于变量,我只是想指出那部分命名约定。
答案 4 :(得分:0)
有Einar Hoest的"Java Programmers Phrasebook"。
他分析了方法名称的语法结构以及方法体的结构,并收集了如下信息:
add- [noun] - * 这些方法通常有参数和创建对象。 他们很少返回字段值。 这个短语几乎全部出现 应用
etcetera ...从数百个开源项目中收集。
有关更多背景信息,请参阅他的SLE08 paper。