你可以从我以前的帖子中看出我有可怕的命名约定。你知道有关如何命名的任何教程吗?
答案 0 :(得分:11)
我建议您查看这本书alt text http://ecx.images-amazon.com/images/I/51PPS4C6i8L._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670/ref=sr_1_1?s=books&ie=UTF8&qid=1281129036&sr=1-1
答案 1 :(得分:7)
我认为没有任何好的教程,因为没有任何硬性规则。以下是一些提示:
符合约定:循环变量为i
,j
和k
; *args
和**kwargs
中包含可变数量的参数;使用camelCase或underscored_names。
保持一致。
简明扼要。 list_of_drugs_used_in_this_program
明显不如drugs
。同样,您不需要在名称中包含变量的数据类型:drugs_list
是多余的。
不要过度使用下划线。我从来不需要不止一个。 2+正在推动它。
从来没有永远使用metasyntactic variables(foo
,spam
...)除了快速而肮脏的例子。 method1
也出局了。
但你可以用以下方式总结所有这些:
Tee hee。
通常可以使用变量命名约定 变成宗教战争,但我 当我宣布The。时完全有信心 世界上最差的变量名称是:
$data
当然是数据!那是什么 变量包含!这就是全部 永远都可以包含。就像你一样 打包你的财物搬到 一个新房子,一边 你写的盒子,用大黑标记, “物质”。
http://www.oreillynet.com/onlamp/blog/2004/03/the_worlds_two_worst_variable.html
答案 2 :(得分:5)
这是我所说的任何两种规则。除了这种惯例之外,偏好是一种迅速变成咆哮的意见问题。这篇文章的其余部分正是如此,不应该被解读为其他内容。
答案 3 :(得分:4)
这里的所有答案都非常有效。最重要的是:保持一致。
那就是说,这是我的规则(C#):
Public
属性开始
用大写字母rowSelected
,rowNextUnread
等
等等。这不同于
系统匈牙利语,这标志着
它们像iSelected
这样的整数,
iNextUnread
。系统匈牙利语
如果有的话,不会增加太多
匈牙利应用程序提供信息
类型不:它告诉我添加
rowItemsPerPage
和colSelected
是一个
毫无意义的操作,即使它
编译得很好。答案 4 :(得分:3)
不是教程...更像是指南/最佳实践的事情:
http://msdn.microsoft.com/en-us/library/xzf533w0(VS.71).aspx
答案 5 :(得分:3)
我建议购买Robert C. Martin的“清洁代码”副本。它充满了很多建议,从命名约定到如何编写易于理解的函数等等。绝对值得一读。我知道它自阅读以来影响了我的编码风格。
答案 6 :(得分:3)
答案 7 :(得分:3)
关于命名约定的细节有许多不同的观点,但总体要点可归纳为:
每个变量名称应相关 任何数据存储在 变量。
您的命名方案应一致。
所以一个重要的禁忌是 单字母变量(有些人 使用i和j进行索引循环 没关系,因为每个程序员都知道 它们是什么。不过,我更喜欢 'idx'而不是'i')。还有 像'method1'这样的名字,没什么意思 - 它应该表明变量的含义。
另一种(不常见的)约定是'匈牙利'符号,其中数据类型以变量名称为前缀,例如'int i_idx'。这在现代的面向对象编程语言中是无用的。更不用说公然违反干旱原则了。
第二点,一致性,同样重要。 camelCase,UpperCamelCase,无论如何 - 只是不要无缘无故地在它们之间切换。
您会发现命名约定因语言而异,通常,公司将有自己的命名规则。
为正确命名变量这是一项值得的投资,因为当你以后修改代码并且忘记了所有内容的含义时,它会带来好处。
答案 8 :(得分:2)
您没有指定您要查找的语言。由于您的问题标记为.NET,因此这是我在编写C#代码时遵循的文档:http://weblogs.asp.net/lhunt/pages/CSharp-Coding-Standards-document.aspx。
答案 9 :(得分:2)
你读过Code Complete吗?他在书中对此进行了全面的论述。绝对是我在印刷中看到过的最好的命名策略......而且很容易找到像1000名程序员那样的名字,这些程序员和程序设计的前5名资源之一。
只是我的$ .05
答案 10 :(得分:1)
我可以为我的书“数据库设计的Sane方法”中的“名称”章节制作一个无耻的插件吗?我特别谈论数据库中的事物名称,但大多数相同的注意事项都适用于程序中的变量。
答案 11 :(得分:1)
目前尚不清楚您的问题是否与Python命名约定有关。
如果是这样,对于初学者,我会尝试遵循这些简单的规则:
ClassName
- 类名称的大写variable_name
- 变量的小写和下划线(我尝试将它们保留为两个单词 maximum )