是否有关于如何命名变量的教程?

l--*_*''' 4 .net python language-agnostic naming-conventions

你可以从我以前的帖子中看出,我有可怕的命名约定.你知道任何关于如何命名东西的教程吗?

Kat*_*iel 7

我不认为会有任何好的教程,因为没有任何硬性规则.以下是一些提示:

  • 符合约定:循环变量i,jk; 可变的参数个数进去*args**kwargs; 使用camelCase或underscored_names.

  • 始终如一.

  • 简明扼要.list_of_drugs_used_in_this_program不太清楚drugs.同样,您不需要在名称中包含变量的数据类型:drugs_list是多余的.

  • 不要过分使用下划线.我从来不需要不止一个.2+正在推动它.

  • 永远不要永远使用metasyntactic变量(foo,spam在任何东西,但快速和肮脏的例子...).method1也出局了.

但是你可以用以下方法总结所有这些:

别傻了.


嘻嘻.

变量命名约定通常会变成宗教战争,但当我宣布世界上最差的变量名称时,我完全有信心:

$data
Run Code Online (Sandbox Code Playgroud)

当然是数据!这就是变量包含的内容!这就是他们所能包含的一切.这就像你收拾你的物品搬到一所新房子,在你写的盒子的一边,用黑色标记,"很重要".

http://www.oreillynet.com/onlamp/blog/2004/03/the_worlds_two_worst_variable.html

  • 对于通用数据处理例程而言,$ data是一个非常好的名称,它不知道或不关心数据的性质.这就像是一封凄美的情书或愤怒的欠款 - 通知你只是邮寄给邮递员. (2认同)

Jon*_*nna 5

  1. 完全遵循一个糟糕的惯例要好于不同的好"惯例"的组合(如果不遵守这些惯例,它们就不再是惯例了).
  2. 但是,应该忽略一个使其不那么明显的公约.

这是我所说的任何两种规则.除了这种惯例之外,偏好是一种迅速变成咆哮的意见问题.这篇文章的其余部分正是如此,不应该被视为其他任何内容.

  1. 对于集合,请使用自然语言复数.在英语中,这意味着数据,图式,儿童,指数,标准,公式(实际上是焦点,鹅,脚,男人,女人,牙齿)不是像基准图式,子项,索引,标准,公式(以及类似的)焦点,鹅,脚,男人,女人,牙齿,不管你信不信我实际上已经看到了一些使用中的东西.骆驼套管和abbreviatiating对英语造成了足够的伤害,没有做更多.好吧,我从未见过基准面,但我已经看过元复数数据.Sweet Aradia,为什么?
  2. 也就是说,即使你使用不同的英语方言,也可以使用美式英语作为名字.大多数拥有这种方言的程序员已经学会在12岁时将"颜色"视为计算机环境中颜色的一个词,并且该原则适用范围更广.如果我们可以处理"颜色"(韦伯斯特的恶化之一)我们可以处理-ize和-ization(-ise和-isation是伪法国18世纪的影响,无论如何,美国人就是这个人的传统主义者).
  3. 同样,如果您不确定如何拼写您正在使用的单词作为整个名称或部分名称,请查找它(google it并查看google所说的内容).有些人可能会花费很长一段时间来分散您的拼写错误,这种错误拼写在整个运行代码中如此自由地分布,以至于使其难以修复.
  4. 匈牙利语很糟糕(在许多现代语言中,虽然有些语言有它的位置),但原则很好.如果你可以在一瞬间告诉const,static,instance,local和parameter变量,这很好.如果你能立刻说出意图,那也很好.
  5. 与此相关,_之前公共变量使它们非CLR兼容.这对于私有变量来说实际上是一件好事(如果你将它们公开用于快速实验,并且忘记修复可见性,编译器会警告你).
  6. 记住Postel的定律,"在你所做的事情上要保守,在接受他人的事情上保持自由".这方面的一个例子就是表现为使用区分大小写的语言,即使您使用的是区分大小写的语言.相关的一个是公共名称中的粘合剂而不是私人名称.还有一种方法是更多地关注以下惯例,而不是抱怨那些不遵守惯例的人.