Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Variables 是否有变量命名约定的简明目录?_Variables_Dictionary_Naming Conventions_Naming_Catalog - Fatal编程技术网

Variables 是否有变量命名约定的简明目录?

Variables 是否有变量命名约定的简明目录?,variables,dictionary,naming-conventions,naming,catalog,Variables,Dictionary,Naming Conventions,Naming,Catalog,多年来,我遇到了许多不同风格的变量名 当前维基百科关于命名约定的条目相当简单 我希望看到变量命名约定的简明目录,通过名称/描述和一些示例来识别它 如果某个平台社区特别喜欢某个约定,那么这也值得注意 我将把它变成一个社区wiki,因此请为每个约定创建一个答案,并根据需要进行编辑。Sun发布了一个Java变量名约定列表。该列表包括命名包、类、接口、方法、变量和常量的约定 关于变量和状态的部分 除变量外,所有实例、类和类常量都是大小写混合的,首字母为小写。内部单词以大写字母开头。变量名不应以下划线或美

多年来,我遇到了许多不同风格的变量名

当前维基百科关于命名约定的条目相当简单

我希望看到变量命名约定的简明目录,通过名称/描述和一些示例来识别它

如果某个平台社区特别喜欢某个约定,那么这也值得注意


我将把它变成一个社区wiki,因此请为每个约定创建一个答案,并根据需要进行编辑。

Sun发布了一个Java变量名约定列表。该列表包括命名包、类、接口、方法、变量和常量的约定

关于变量和状态的部分

除变量外,所有实例、类和类常量都是大小写混合的,首字母为小写。内部单词以大写字母开头。变量名不应以下划线或美元符号$字符开头,即使两者都允许

变量名应该简短但有意义。变量名的选择应该是助记的——也就是说,设计用于向临时观察者表明其使用意图。除临时“一次性”变量外,应避免使用单字符变量名。临时变量的常用名称是i、j、k、m和n(整数);c、 d和e表示字符

一些例子包括

int             i;
char            c;
float           myWidth;

我所见过的最好的命名约定集是《史蒂夫·麦康奈尔》一书中关于命名约定和许多示例的章节。他的示例贯穿了不同语言的许多“最佳实践”,但最终由开发人员、开发经理或架构师决定具体操作。

是Python代码的样式指南,它是标准库的一部分,在Python社区中具有相对影响力。另外,除了介绍Python标准库使用的命名约定外,还提供了一般命名约定的概述

根据PEP8:为便于阅读,标准库中的变量、实例变量、函数和方法应使用下划线分隔的小写单词:

foo
parse_foo
a_long_descriptive_name
要区分名称和保留字,请附加下划线:

in_
and_
or_
弱私有的名称(不是由“from M import*”导入的)以一个下划线开头。使用名称损坏强制隐私的名称以双下划线开头:

_some_what_private
__a_slightly_more_private_name
Python“特殊”方法的名称以双下划线开头和结尾:

__hash__  # hash(o) = o.__hash__()
__str__   # str(o) = o.__str__()

无论您的命名约定是什么,它通常不允许您轻松区分:

  • 实例(通常为私有)变量
  • 局部变量(用作参数或函数的局部变量)
我对局部变量使用了基于(a,an,some)的命名约定,而没有关于实例变量的文章,正如在这个问题中所解释的

因此,前缀(my way或列出的任何其他前缀)可以是改进变量命名约定的一种方法

我知道你的问题不局限于变量,我只是想指出命名惯例的一部分。

有,Einar Hoest的

他分析了方法名称的语法结构以及方法主体的结构,并收集了以下信息:

添加-[名词]-*这些方法通常具有参数并创建对象。 它们很少返回字段值。 这句话几乎出现在所有的句子中 应用程序

等等。。。收集自数百个开源项目


有关更多背景信息,请参阅his。

可能还没有,因为不同的语言允许使用不同的模式作为变量名。但这不应该阻止我们在这里制作一个。