历史上的今天
今天是:2025年03月05日(星期三)
2020年03月05日 | STM32开发笔记97: C++语言命名规范
2020-03-05 来源:eefocus
单片机型号:STM32F091RCT6
在此文章中记录C++语言的命名规范。
1、文件名均采用小写英文字母方式实现,多个英文单词之间用“_"予以分割;
2、宏定义均采用大写英文字母方式实现,多个英文单词之间用“_"予以分割;
3、自定义数据类型均小写英文字母方式实现,多个英文单词之间用“_"予以分割;
4、类名首字母用C表示,后续采用匈牙利命名法,首字母大写,如遇英文缩写单词,则按照英文命名规范进行拼写,例如LED为缩写单词,但是英文规范可以写作led或Led,则类名用CLed表示,而HAL是硬件映射层的缩写,英文用全大写表示,使用时,则使用CHAL命名;
5、用类声明的类对象,去除首字母C即可,例如CLed命名的对象,则直接为Led;
6、变量名按照匈牙利表示法进行表示,以前缀开头,前缀后加“_”,后面用多个英文单词准确表示变量实际含义,单词首字母大写,如遇英文缩写单词,按照英文书写规范进行拼写,例如ms为缩写单词,英文用小写表示,则变量名为u16_ms;
7、变量名为bool型的,前面加b作为前缀,后面不加“_”,例如bMilliSecond_1000,bResult等,
8、变量名如为复合型的数据类型,如结构体、联合、枚举等,可不加前缀进行命名;
9、指针型变量,可以采用前缀p,后面不加“_”,例如pData。
10、单行注释使用“//”加1个空格表示,例如“// 主函数”;
11、以下是VS Code中,设置都文件与CPP文件的用户代码片段信息:
{
"Structure information for .h file": {
"prefix": "Structure for .h file",
"body": [
"/**",
"******************************************************************************",
"* @file .h",
"* @brief 头文件",
"* @author snmplink",
"* @version 使用Git进行版本控制",
"* @date 2020- 创建该文件",
"******************************************************************************",
"* @attention",
"*",
"*
© Copyright (c) 2020-2030 snmplink.", "* All rights reserved.
","* All rights reserved.
"*",
"* 开发文档:https://snmplink.blog.csdn.net/",
"* ",
"* github:https://github.com/snmplink",
"* ",
"* 码云:https://gitee.com/snmp123452",
"* ",
"* License. You may obtain a copy of the License at:",
"* opensource.org/licenses/BSD-3-Clause",
"*",
"******************************************************************************",
"*/",
"",
"#ifndef _H_",
"#define _H_",
"",
"#include ".h"",
"",
"#ifdef __cplusplus",
"extern "C"{",
"#endif",
"",
"class ",
"{",
"public:",
"",
"};",
"",
"#ifdef __cplusplus",
"}",
"#endif",
"#endif"
],
"description": "头文件结构信息"
},
"Structure information for .cpp file": {
"prefix": "Structure for .cpp file",
"body": [
"/**",
"******************************************************************************",
"* @file .cpp",
"* @brief 源文件",
"* @author snmplink",
"* @version 使用Git进行版本控制",
"* @date 2020- 创建该文件",
"******************************************************************************",
"* @attention",
"*",
"*
© Copyright (c) 2020-2030 snmplink.", "* All rights reserved.
","* All rights reserved.
"*",
"* 开发文档:https://snmplink.blog.csdn.net/",
"* ",
"* github:https://github.com/snmplink",
"* ",
"* 码云:https://gitee.com/snmp123452",
"* ",
"* License. You may obtain a copy of the License at:",
"* opensource.org/licenses/BSD-3-Clause",
"*",
"******************************************************************************",
"*/"
],
"description": "CPP源文件结构信息"
}
}
史海拾趣
|
定制OS, 选择了 MUI 和 英文和中文字体, 默认语言是中文 可调用 createmui 0409 命令后 输出如下, 输出完成后,提示找不到文件,麻烦大侠们给个提示,谢谢 Multiui.bib文件内容为空, ; ; Copyright (c) Microsoft Corporation.   ...… 查看全部问答> |
|
我搜了一些做ARM开发板的公司,甚少有支持wince6.0的开发板在卖。立宇泰、友善之臂、扬创、周立功、英蓓特等都没找到一块。优龙也是在最近才出了一款LPC3250的板子有wince6.0,但是驱动还没有做全。搜到有两家卖S3C6410X和S3C6400开发板的公司,海 ...… 查看全部问答> |
|
BUILDREL: Copying PLATFORMCOMMON binaries from C:\\WINCE600\\platform\\common Can\'t create hard link. (FAT file system?) Copying files instead of creating hard links. 编译到最后的时候,出现这样几个错误?? 这是什么 ...… 查看全部问答> |
|
运用全球领先的软件的和平台,结合对商业需求把握,凭借出色的规划设计能力和技术实施能力,运用成熟的项目管理能力,帮助客户在Internet/Intranet上建立全面的基于Web的企业应用,主营业务是向企业及个人提供综合上网服务,目标是建设成为中国领先 ...… 查看全部问答> |
|
急需此两题的解答!小弟多年不碰单片机,两眼一抹黑,请各位大大救命啊! 在线等,解出来立刻双手把分奉上!! 邮箱:[email=darkstarxw@163.com][/email]… 查看全部问答> |
|
本公司招聘硬件工程师,从事检测仪器开发。关注于弱信号的采集、整理和放大。 1. 本科及以上学历; 2. 电子、自动化、硬件电路设计、检测技术等相关专业; 3. 有CPLD或FPGA开发经验者优先; 4.&nbs ...… 查看全部问答> |
|
1、模拟量值和A/D转换值的转换假设模拟量的标准电信号是A0—Am(如:4—20mA),A/D转换后数值为D0—Dm(如:6400—32000),设模拟量的标准电信号是A,A/D转换后的相应数值为D,由于是线性关系,函数关系A=f(D)可以表示为数学方程: &nb ...… 查看全部问答> |
|
各位大虾:我在DM642里面对TLV320AIC23进行Transmit操作时,遇到一个问题。代码如下,各同步时钟信号AFSX、ACLKX、AHCLKX由AIC23提供。 MCASP_ConfigSrctl MysrctlRegs = { 0x00000009, //AXR00=Xmt &nbs ...… 查看全部问答> |
|
大家来看看这份数字电视改造方案,是我一个网友发来的, 先拿出来给大家分亨一下,或许你们也会用得着! 方案原理:用30多个机顶盒+邻频调制器,做出30多个频道,供给100多个房间都能收看30多个频道。酒店按常规需要100多个机顶盒,用数字电视 ...… 查看全部问答> |




