美文网首页
11. 命名约定

11. 命名约定

作者: bigwhite | 来源:发表于2013-11-26 15:12 被阅读0次

毫无疑问,每个独立的工程都有一套自己的命名约定,不过仍然有一些通用的规则值得参考。

  • 为系统用途保留以下划线开头或下划线结尾的名字,并且这些名字不应该被用在任何用户自定义的名字中。大多数系统使用这些名字用于用户不应 该也不需知道的名字中。如果你一定要使用你自己私有的标识符,可以用标识它们归属的包的字母作为开头。
  • #define定义的常量名字应该全部大写。
  • Enum常量应该大写或全部大写。
  • 函数名、typedef名,变量名以及结构体、联合体与枚举标志的名字应该用小写字母。
  • 很多"宏函数"都是全部大写的。一些宏(诸如getchar和putchar)使用小写字母命名,这事因为他们可能被当成函数使用。只有在宏的行为类似一 个函数调用时才允许小写命名的宏,也就是说它们只对其参数进行一次求值,并且不会给具名形式参数赋值。有些时候我们无法编写出一个具有函数行为的 宏,即使其参数也只是求值一次。
  • 避免在同一情形下使用不同命名方式,比如foo和Foo。同样避免foobar和foo_bar这种方式。需要考虑这样所带来的困惑。
  • 同样,避免使用看起来相似的名字。在很多终端以及打印设备上,'I'、'1'和'l'非常相似。给变量命名为l特别糟糕,因为它看起来十分像常量'1'。

通常,全局名字(包括enum)应该具有一个统一的前缀,通过该前缀名我们可以识别出这个名字归属于哪个模块。全局变量可以选择汇集在一个全局结 构中。typedef的名字通常在结尾加一个't'。

避免名字与各种标准库中的名字冲突。一些系统可能包含一些你所不需要的库。另外你的程序将来某天很可能也要扩展。

相关文章

  • 11. 命名约定

    毫无疑问,每个独立的工程都有一套自己的命名约定,不过仍然有一些通用的规则值得参考。 为系统用途保留以下划线开头或下...

  • 后端开发约定

    一、命名约定1.1 类命名约定实体对象命名数据对象类:DO后缀 例如:UserDO传输对象类:DTO后...

  • 【译】BEM CSS命名规范三 Naming conventio

    原文 命名约定 若是使用 BEM 实体,就需要了解它的命名规则。 命名约定的理念就是使得 CSS 选择器的命名尽可...

  • Java 命名约定

    Java 命名约定 除了以下几个特例之外,命名时应始终采用完整的英文描述符。此外,一般应采用小写字母,但类名、接口...

  • Effective Java(3rd)-Item68 遵守普遍接

      Java平台有一组完善的命名约定,其中许多约定包含在Java语言规范[JLS, 6.1]中。松散地说,命名约定...

  • Laravel – API 的最佳命名约定

    本文分享内容是大多数使用 PHP 的科技公司遵循的基本命名约定。这种命名约定符合 Laravel [PHP] 编码...

  • C++命名约定

    https://zh-google-styleguide.readthedocs.io/en/latest/goo...

  • Rest接口组件的命名

    表示约定 命名约定 其中 ComponentR 为Restful接口的组件,例如 Component 为使用fun...

  • 团队开发规范V0.7,不断更新中

    1 数据库的命名规则 1.1 一些英文词的标准缩写 1.2 通用字段命名约定 1.3 数据类型约定 2 数据字典 ...

  • web前端经验分享

    CSS技巧 解决css样式污染方案 命名约定 BEM命名规范 使用CSS Modules css实现新手引导效果 ...

网友评论

      本文标题:11. 命名约定

      本文链接:https://www.haomeiwen.com/subject/zniqtttx.html