编码指南 - 一致的变量命名

时间:2010-11-09 10:24:48

标签: language-agnostic coding-style

我目前正在为初级开发人员编写编码风格指南,我很好奇是否有人使用公共变量名称列表(基本概念)来限制代码库中的混淆?

例如:

  • 用于电子邮件地址:电子邮件(而不是:邮件电子邮件地址,* mail_address * ...)
  • 表示数据库名称: dbname (而不是: db dbase base 数据库,* database_name *, dbn ...)
  • 用于具有完全限定路径的文件名:文件路径(而不是:文件路径,* file_name *, pathtofile < / em> ...)
  • 表示相对文件名(不含路径):文件名(而不是:文件名称 f ,...)
  • 用于配置对象: config (而不是:配置 conf vars ,...)

您是否使用类似的惯例?

修改

准确地说:它不是关于格式化约定( camelCaps 或* names_with_underscores *),它们往往取决于语言和项目,但关于命名< / strong>约定(邮件电子邮件 courriel ),这是所有语言共有的东西(比如使用 i的惯例) j k 用于迭代计数器)

3 个答案:

答案 0 :(得分:3)

选择一致的约定并坚持下去。

您建议的约定不一致。 电子邮件正在使用the English word,因此您应该使用 database_name 而不是dbname。此外, file_path file_name 配置

简而言之,我建议使用'_'分隔的完整英文单词。这是一致的,也是埃菲尔常用的惯例。其他系统也可以是一致的。但不是一切的混合。

答案 1 :(得分:2)

这是最糟糕的微观管理。只需说“尝试使用明确的无歧义变量名称。”告诉他们更喜欢更长的名字,只需使用代码完成来节省输入。

如果您需要教小辈编写对其他人有意义的代码,请使用结对编程和代码审查。

你需要相信他们做正确的事情并在他们不做的时候纠正他们。

并且不要构成你自己的约定,你正在使用的语言很可能已经在其文化中具有约定,例如Java中的camelCaseForVariableNames。请关注这些。

答案 2 :(得分:0)

许多人通常更愿意采用他们使用的语言中已采用的惯例 例如。在java中,它将是 databaseName ,在C ++中 database_name