- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章C++代码规范之命名规则由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
1、命名的两个基本原则 1、含义清晰,不易混淆; 2、不和其它模块、系统API的命名空间相冲突。 2、命名通则 1、在所有命名中,都应使用标准的英文单词或缩写;不得使用拼音或拼音缩写,除非该名字描述的是文 特有的内容(如半角、全角、声母、韵母等);除非必要,不要用数字或较奇怪的字符来定义标识符。 2、所有命名都应遵循达意原则,即名称应含义清晰、明确。 3、所有命名都不易过长,应控制在规定的最大长度以内。 4、所有命名都应尽量使用全称。 5、命名中若使用特殊约定或缩写,则要有注释说明。 6、自己特有的命名风格,要自始至终保持一致,不可来回变化。 说明:个人的命名风格,在符合所在项目组或产品组的命名规则的前提下,才可使用。(即命名规则中没有规定到的地方才可有个人命名风格)。 7、在同一软件产品内,应规划好接口部分标识符(变量、结构、函数及常量)的命名,防止编译、链接时产生冲突。 8、对于变量命名,禁止取单个字符(如i、j、k...),建议除了要有具体含义外,还能表明其变量类型、数据类型等,但i、j、k作局部循环变量是允许的。 说明:变量,尤其是局部变量,如果用单个字符表示,很容易敲错(如i写成j),而编译时又检查不出来,有可能为了这个小小的错误而花费大量的查错时间。 例:下面所示的局部变量名的定义方法可以借鉴。 int liv_Width 其变量名解释如下: l 局部变量(Local) (其它:g全局变量(Global)...) i 数据类型(Interger) v 变量(Variable) (其它:c常量(Const)...) Width 变量含义 这样可以防止局部变量与全局变量重名。 9、命名规范必须与所使用的系统风格保持一致,并在同一项目中统一,比如采用UNIX的全小写加下划线的风格或大小写混排的方式,不要使用大小写与下划线混排的 方式,用作特殊标识如标识成员变量或全局变量的m_和g_,其后加上大小写混排的方式是允许的。 例: Add_User不允许,add_user、AddUser、m_AddUser允许。 10、用正确的反义词组命名具有互斥意义的变量或相反动作的函数等。 说明:下面是一些在软件中常用的反义词组.
例:
11、除了编译开关/头文件等特殊应用,应避免使用_EXAMPLE_TEST_之类以下划线开始和结尾的定义。 12、程序中不要出现标识符完全相同的局部变量和全局变量,尽管两者的作用域不同而不会发生语法错误,但会使人误解。 3、具体规范 1、工程名 不强制统一.
。
2、文件名: 基于工程名,开头3个字母应表明与哪一个工程相关。 后面的字母应能够区别不同的功能。 不区分大小写。 长度不限于8.3格式,建议不多于30个字符。 若文件用于定义和实现类,建议文件名与类名保持一致.
3、函数名: 参照 Windows API 的命名规范。 推荐使用动宾结构。函数名应清晰反映函数的功能、用途。 函数名最长不得超过30个字符。 函数名第一个字母必须大写。 全局函数必须以小写前缀"g"开头。全局函数的名字应当使用“动词”或者“动词+名词”(动宾词组)。类的成员函数应当只使用“动词”,被省略掉的名词就是对象本身。 例: DrawBox(); // 全局函数 box->Draw(); // 类的成员函数 。
4、变量名: 原则上,变量名的命名遵从匈牙利记法。即:前缀 + 类型 + 变量名 变量名最长不得超过20个字符。 变量的名字应当使用“名词”或者“形容词+名词”。 例: float value; float oldValue; 1)格式:[m_|s_|g_] type [class name|struct name] variable name 2)解释: m_ : 类的成员变量 ms_:类的静态成员变量 s_ :静态全局变量 g_ :普通全局变量 类型缩写(type) char, TCHAR: ch char[],TCHAR[]: sz bool, BOOL: b int, __int16,__int32,__int64: n long: l double: d float: ft BYTE: by WORD: w DWORD: dw unsigned: u function: fn p :pointer lp :pointer 5、类名: 必须以大写"K"开头,后面字母反映具体含义,以清晰表达类的用途和功能为原则。 接口必须以大写"I"开头,代表 Interface 。 当名称由多个单词构成时,每一个单词的第一个字母必须大写.
6、结构名、宏名、枚举名、联合名: 全部大写。 枚举名加小写前缀"enum"。 例:
例: #define defMAXNUMBER 100 结构名加小写前缀"tag",之后必须以大写"K"开头。 例:
联合名加小写前缀"uni"。 例:
说明:对接口部分的标识符应该有更严格限制,防止冲突。如可规定接口部分的变量与常量之前加上 “模块”标识等。 说明:应该在源文件的开始之处,对文件中所使用的缩写或约定,特别是特殊的缩写,进行必要的注释说明。 说明:较短的单词可通过去掉“元音”形成缩写;较长的单词可取单词的头几个字母形成缩写。 一些单词有大家公认的缩写。 例:temp 可缩写为 tmp 。
最后此篇关于C++代码规范之命名规则的文章就讲到这里了,如果你想了解更多关于C++代码规范之命名规则的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我们有一个 Java 项目,每天晚上使用 TeamCity 对 Java 类进行静态分析,以查找代码中容易出现的错误。我们想告诉 TeamCity 寻找开发人员可能引入的与 == 与 .equals
Promises/A+ 这是一个开放标准,旨在让不同开发者实现的 JavaScript Promise 能够无缝衔接并应用——由前辈们制定,为其他后来者提供参考 一个 promise 所
前言 🍊缘由 Git分支管理好,走到哪里都是宝 🏀事情起因: 最近翻看博客中小伙伴评论时,发现文章【规范】看看人家Git提交描述,那叫一个规矩一条回复: 本狗亲测在我司中使用规范
使用带有不存在的命名空间的命名空间限定关键字来定义规范是否被认为是不好的做法?我想在公共(public) domain 命名空间中定义实体映射...所以为了避免在合并规范时丢失数据,我使用约定 :en
有没有办法在调用 clojure.spec.test.alpha/check 时覆盖核心谓词函数的生成器? 可以通过 s/gen 中的路径覆盖谓词生成器: (gen/generate (s/gen
以内核 rpm 为例,它允许在一个系统上同时安装多个版本。规范文件中究竟是什么允许的? 我想打包一个已经存在的具有不同安装前缀的多个版本的项目。 最佳答案 百胜 找到了让 yum 安装而不是更新的方法
我正在尝试用 C# 编写 PDF 解析器,但我遇到了一个问题,我不确定如何解释规范。 除非另有说明,否则 PDF 文档中的用户空间为 1/72 英寸(即 1pt)。 Tf 运算符提供的比例将字体从标准
我正在编写一些代码,需要能够获取两个 pdf 并将它们附加到页面级别(例如,如果它们都是 2 页文档,则有一个 4 页文档,其中所有 4 页都与原始文档相同). 在不使用库的情况下,最好的方法是什么?
是否有序言语言语法,或接近它的通常用作引用的东西?我正在使用 SWI-prolog,所以有一个适合这种风格的会很好,否则一般的 prolog 语言语法/规范也能工作。 最佳答案 自 1995 年起,P
我需要一个函数来过滤参数和构建查询。我有 4 个参数,因此如果我尝试为每个条件实现查询,我将不得不写 16 (2^4)实现 - 这不是一个好主意。 我尝试使用界面改进我的代码 Specificatio
这个 ExtGState 对象对图像做了什么: > 我有 PDF 规范,但一点也不清楚。显然,这将身份函数(什么的身份?单位矩阵?)从 [0.0 1.0] 映射到 [0.0 1.0](相同),这是没有
只是想获得有关 ePub 规范的一些帮助。toc.ncx 是否必须具有 src(即 xhtml)。我观察到 .opf 文件中也提供了相同的内容 src。 最佳答案 是的,这是强制性的,这是一个设计问题
让我们看看莱宁根项目 map 的真实示例 :global-vars : ;; Sets the values of global vars within Clojure. This example
我正在开发一个 LOB 框架,它具有 SL 和 MVC 前端、WCF 后端以及在服务器上运行的几个服务模块。我一直在查看 Spec#,看它是否对我有任何帮助。不可空类型和检查异常本身非常好,但我还没有
Promises/A+规范是最小的规范之一。因此,实现它是理解它的最佳方法。福布斯·林德赛(Forbes Lindesay)的以下回答将引导我们完成实现Promises / A +规范Basic Ja
哪个文档指定了 MySQL definer 格式? 具体来说,definer admin@% 中的 % 是什么意思(以及为什么使用这个符号)? 最佳答案 这里MySQL使用的格式定义在the MySQ
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
在 css 规范中,什么会影响更多的 inline 样式或外部 !important 外部“style.css”: #di{color: green!important;} div 文本颜色是红色还
我正在努力思考 CSS 的一些细节,我从 W3 CSS Visual Formatting Spec 9.2.2 中找到了这部分摘录。特别迟钝: Inline-level boxes that are
这个问题在这里已经有了答案: Are (non-void) self-closing tags valid in HTML5? (8 个答案) 关闭 9 年前。 在 HTML5 中你应该使用 或
我是一名优秀的程序员,十分优秀!