2010-11-18 61 views

回答

3

在很大程度上,您决定采用什么标准并不重要。最重要的因素是你坚持下去!一致性是非常重要的,只要你管理你的代码将来会更容易阅读和维护。

作为一个想法,你可以看看在Windows下用于Win32和C++编程的匈牙利符号。

Notation Definition (PDF)

+0

是的,但是没有尝试过的实践要遵循吗?而当我阅读PDF时,我注意到使用这种格式,除非你真的很喜欢评论所有的东西,否则最终会得到很多神秘的代码。 – 2010-11-18 02:25:40

+0

一旦你理解了匈牙利符号的神秘性质,就很容易理解变量的类型,而不必去找到它的定义来提醒自己。这对于C++尤其重要,因为打字错误非常容易实现。这可能不是您选择的语言的问题。 – 2010-11-18 02:28:16

+0

我想这是真的,我从经验中发表意见。 – 2010-11-18 02:35:10

1

最好不要与某些语言数字或符号启动它们。另外,请勿使用您正在使用的语言的保留功能。例如:在C#中,你不会想把它命名为“if”,“else”,“void”,“try”等等......

1

我不是一个有经验的程序员,但我有点它在大学和uni中钻进我的行列,并且在类似的网站上看到它,当命名变量时,它们应该是,意思是

也许这是一个教育的事情,但它确实有道理 - 变量名应该使它很容易明白你的代码中的任何地方使用了那个变量。归结起来,我认为,代码不应该需要大量的评论 - 它应该解释自己。变量命名是其中的一部分。

+1

添加到我的回答什么布莱克和菲尔说,我认为你不会错。 – 2010-11-18 02:25:02

3

保持你的名字有意义,代码应该自我记录,避免缩写名称的长度在大多数语言中通常不是问题。

布尔变量应该开始is*has*,尝试选择一个避免要求测试否定的名称,因为经常会丢失!。与项目相关联

组变量通过使用共同的前缀即documentTitledocumentTypedocumentSize等等使用数字除非索引涉及区分变量

避免。

忘掉匈牙利语法。

+1

+1,但匈牙利符号有点误解。有好的和坏的品种:http://www.joelonsoftware.com/articles/Wrong.html – 2010-11-18 02:37:01

2

一些粗线条:

  • 使用ijk for循环的变量。这是非常普遍的做法,很容易理解。
  • 对于布尔(真/假)变量,使用谓词名称,如isDirectorycanExecute
  • 无论你是camelCase还是use_underscores只是一个偏好问题。
  • 用匈牙利符号来装饰变量可能是一个好主意,描述变量的含义,例如, iMax可能是数组中最大元素的索引。用语言级别的类型信息装饰名称的用处不大。对于差异的一个非常有趣的解释,为什么一个是好的,另一个是坏的,请参阅Joel's essay