Qt C++编程规范

一,文件命名规则。

1,一个类对应一个.h和一个.cpp文件,文件名与类名相同,大小写保持一致。

【例外】 一个类与其他类有紧密关系,或者其他类只为主类服务(用到一个类时,另一个必须用到),则可以写入到同一.h文件,或者嵌入到主类中。

2,扩展名 头文件用.h,c源文件用.c,c++源文件用.cpp。

3,文件名字用类名,若果没有类,则可采用所有首字母大写形式。

4,头文件的排列顺序

 1 //1,头文件开头注释,包含作者,功能叙述,改动,时间。
 2 /*
 3 name : MyClass
 4 author : ***
 5 note :
 6 */
 7
 8 //2,头文件防止重复包含的宏
 9 #ifndef __MYCLASS_H__
10 #define __MYCLASS_H__
11
12 //3,包含的头文件
13 #include <QWidget>
14
15 //4,宏定义
16 #define CAMERA_DEVICE "/dev/video0"
17
18 //5,常量
19 static char *my_str="this is my first Blog";
20
21 //6,其他类型声明,外部变量应用,typedef重命名类型。
22 class QPushButton;
23 extern int mu_number;
24
25 //7,结构体,枚举,联合体
26 struct MyPictureInfo{
27
28 };
29
30 enum MySeason{
31
32 };
33
34 union MyBook{
35
36 };
37
38 //8,类的定义
39 class MyClass{
40
41 };
42
43 //9,反重复头文件宏结束,及其注释
44 #endif //MyClass end

5,源文件的排列顺序

//1,文件开头注释

//2,包含的头文件

//3,静态变量

//4,变量(全局)的定义

//5,静态函数的声明/定义

//6,类的函数的实现,按照在.h中定义的顺序实现,

//7,文件结尾注释

6,头文件包含,系统头文件,其他sdk库,第三方库用<>使用,内部自定义头文件用""使用。

【1】此处使用避免使用相对路径,可以使用INCLUDE变量进行头文件目录指定。

【2】引用头文件顺序依次为,系统头文件,第三方库头文件,Qt头文件,自定义头文件。

【3】使用c头文件,用extern "C"{}进行引用。

【4】避免使用多余的头文件,若果多次修改导致某些头文件无用,请及时删除。

【5】可用适当通过前置声明避免过多引入头文件。

【6】不要再头文件定义变量,看是否造成内存使用。

【7】头文件不要使用命名空间,可能两个命名空间有同名函数,会导致运行出错(这种错误难查找)。若要使用,请在函数前面加上作用域。或者在类内部某一范围引入命名空间。

时间: 2024-11-08 18:20:20

Qt C++编程规范的相关文章

Qt的编程风格与规范

Qt的编程风格与规范 来源: http://blog.csdn.net/qq_35488967/article/details/70055490 参考资料: https://wiki.qt.io/Qt_Contribution_Guidelines https://wiki.qt.io/Qt_Coding_Style https://wiki.qt.io/Coding_Conventions https://community.kde.org/Policies/Library_Code_Poli

华为C语言编程规范

DKBA华为技术有限公司内部技术规范DKBA 2826-2011.5C语言编程规范2011年5月9日发布 2011年5月9日实施华为技术有限公司Huawei Technologies Co., Ltd.版权所有 侵权必究All rights reserved密级:confidentiality levelDKBA 2826-2011.52011-06-02 华为机密,未经许可不得扩散 Huawei Confidential 第2页,共61页Page 2 , Total61修订声明Revision

qt socket编程

dialog.c #include <QtGui> #include <QtNetwork> #include <QFile> #include <QDir> #include <stdlib.h> #include "dialog.h" Dialog::Dialog(QWidget *parent) : QDialog(parent) { tcpSocket = new QTcpSocket(this); timer1=ne

Windows客户端C/C++编程规范“建议”——函数

1 函数 1.1 代码行数控制在80行及以内 等级:[要求] 说明:每个函数的代码行数控制应该控制在80行以内.如果超过这个限制函数内部逻辑一般可以拆分.如果试图超过这个标准,请列出理由.但理由不包含如下: 无法拆分. 流程内部逻辑复杂,无需拆分,即使拆分了,拆分的函数也不会被其他地方用到.(解释:拆分可以减少代码行数,提炼后的函数可以方便读者快速理解函数逻辑并定位问题.) 1.2 代码列数控制在100字符及以内 等级:[要求] 说明:每行代码不可以超过100字符.如果超过这个字符数,代码的美观

Windows客户端C/C++编程规范“建议”——指针

2 指针 2.1 尽量使用智能指针 等级:[推荐] 说明:正确使用智能指针可以省去指针管理的工作. 2.2 类成员变量指针释放后一定要置空 等级:[必须] 说明:如果类成员变量指针在释放后没有置空,将出现如下问题: a) 无法判断指针是否已经是野指针 b) Dump分析很难发现是野指针函数调用导致崩溃 2.3 正确使用delete和delete[] 等级:[必须] 说明:delete[]用于释放动态分配的数组,而delete用于释放对象.两者不可以混用. 2.4 使用指针前要判空 等级:[必须]

Windows客户端C/C++编程规范“建议”——函数调用

3 函数调用 3.1 谨慎使用递归方法 等级:[推荐] 说明:递归方式控制不当,可能会导致栈空间不够而崩溃.一般的递归都可以使用循环代替. 3.2 不要使用using namespace 等级:[必须] 说明:这是曾经教科书上的一种写法,但是该方法存在严重的缺陷.因为如果多个不同的namespace里定义了相同名字的变量或者函数.将导致无法预知和理解编译器最终使用的是哪个命名空间中的数据. 例子: //file1 namespace Space1{ int g_Private = 0; }; /

QT核心编程之调试技术 (g)

Qt应用程序的调试可以通过DDD进行跟踪调试和打印各种调试或警告信息.DDD(Data Display Debugger)是使用gdb调试工具的图形工具,它安装在Linux操作系统中,使用方法可参考DDD的帮助文档. AD:51CTO首届中国APP创新评选大赛正在招募>> QT核心编程之调试技术是本节要介绍的内容,QT核心编程我们要分几个部分来介绍,想参考更多内容,请看末尾的编辑推荐进行详细阅读,先来看本篇内容. Qt应用程序的调试可以通过DDD进行跟踪调试和打印各种调试或警告信息.DDD(D

[转载]通达信插件选股(基于通达信插件编程规范的简单分析)

[转载]通达信插件选股(基于通达信插件编程规范的简单分析) 原文地址:通达信插件选股(基于通达信插件编程规范的简单分析)作者:哈尔滨猫猫 首先声明,鄙人是编程人员,不是股民.对选股概念了解甚少.本文仅作编程人员学习借鉴之用.不对选股理论进行探讨和解释. 以前有客户找我做过通达信插件选股的小任务,当时第一次接触面向接口(此类“接口”)编程,也是第一次接触到股票里相关的概念.最近由于接手一个任务,与上次开发相类似,故旧事重提,仔细研究一番.将个人学习研究所得知识与大家分享.在网上搜相关资料,可用的.

最佳11个PHP编程规范

个人原创网址:http://www.phpthinking.com/archives/375 从设计之初,PHP被广泛用于开发基于Web的应用程序. 由于PHP是一种脚本语言,开发的时候必须遵守一些规范. 本文将讨论常用的良好的代码习惯,或者称为代码规范,在PHP领域. 1,错误报告开启 错误报告是在PHP中一个非常有用的功能,应同时在开发阶段启用. 这可以帮助我们确定我们的代码中的问题. 最常用的功能是"E_ALL",这有助于我们发现所有的警告和严重错误. 必须指出的是,我们把我们的