历史上的今天
返回首页

历史上的今天

今天是: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.

",

"*",

"* 开发文档: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.

",

"*",

"* 开发文档: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源文件结构信息"

}

}


推荐阅读

史海拾趣

Anytek Technology Corporation Ltd公司的发展小趣事

Anytek始终坚持以创新为驱动,不断推出具有市场竞争力的新产品。2007年,公司自主研发的创新型产品“高清汽车行车记录仪”面世,这款产品以其高清画质、稳定性能和易用性等特点,迅速占领了市场制高点。随后,Anytek又于2008年推出了行业唯一一款双镜头的“双镜头行车记录仪”,这一创新设计进一步提升了行车记录仪的功能性和实用性,赢得了市场的广泛认可。

Eink公司的发展小趣事
随着电子纸技术的广泛应用,E-Ink公司的商业地位也逐渐上升。其电子纸产品不仅在全球范围内销售,还赢得了众多合作伙伴的青睐。同时,E-Ink公司并没有停止技术创新的步伐,继续投入大量资源进行研发,以推动电子纸技术的进一步发展。这种持续的创新精神使得E-Ink公司在电子行业中保持了领先地位。
Central Semiconductor公司的发展小趣事

除了封装产品外,Central Semiconductor还致力于裸片产品的开发和供应。公司提供的裸片产品具有多种包装形式,如华夫包、未切晶圆、金属框架已切晶圆和塑料环装已切晶圆等,满足了不同客户的需求。

裸片产品的开发和供应不仅拓宽了Central的产品线,也展示了公司在半导体制造领域的全面实力和技术优势。通过提供高质量的裸片产品,Central进一步巩固了其在电子行业中的地位和影响力。

Cofan Usa Inc公司的发展小趣事

在快速发展的过程中,Cofan Usa Inc公司意识到供应链管理的重要性。为了确保产品质量和交货期的稳定性,公司开始优化供应链管理流程,与优质供应商建立长期合作关系,并引入先进的供应链管理系统。这些举措有效提升了公司的运营效率和市场竞争力。

AEC Design公司的发展小趣事
在快速发展的过程中,AEC Design公司也面临着来自市场、技术、政策等多方面的挑战。然而,公司始终保持着清醒的头脑和稳健的步伐。通过不断调整战略、优化管理、加强研发等方式,公司成功应对了各种挑战,实现了稳健前行。
Diamond SA公司的发展小趣事

在电子行业的初期,Diamond SA公司以其卓越的技术研发能力脱颖而出。公司创始人对半导体技术的深入研究,引领了一场技术革命。他们成功开发出一种新型的芯片设计,大大提高了电子设备的性能和效率。这一创新技术迅速在市场上获得了认可,Diamond SA公司也因此逐渐崭露头角。

问答坊 | AI 解惑

Wince6.0 创建多语言CreateMui失败问题

定制OS, 选择了 MUI 和 英文和中文字体, 默认语言是中文 可调用 createmui 0409 命令后 输出如下, 输出完成后,提示找不到文件,麻烦大侠们给个提示,谢谢 Multiui.bib文件内容为空, ; ; Copyright (c) Microsoft Corporation.   ...…

查看全部问答>

调查一下支持winCE6.0的CPU及有成熟开发板的公司

我搜了一些做ARM开发板的公司,甚少有支持wince6.0的开发板在卖。立宇泰、友善之臂、扬创、周立功、英蓓特等都没找到一块。优龙也是在最近才出了一款LPC3250的板子有wince6.0,但是驱动还没有做全。搜到有两家卖S3C6410X和S3C6400开发板的公司,海 ...…

查看全部问答>

Can't create hard link ??

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]…

查看全部问答>

DC-DC原理的培训讲义1,2

[local]1[/local][local]2[/local]…

查看全部问答>

北京智博联公司招聘高级电子工程师

本公司招聘硬件工程师,从事检测仪器开发。关注于弱信号的采集、整理和放大。 1.    本科及以上学历; 2.    电子、自动化、硬件电路设计、检测技术等相关专业; 3.    有CPLD或FPGA开发经验者优先; 4.&nbs ...…

查看全部问答>

S7-200的模拟量编写方法总结

1、模拟量值和A/D转换值的转换假设模拟量的标准电信号是A0—Am(如:4—20mA),A/D转换后数值为D0—Dm(如:6400—32000),设模拟量的标准电信号是A,A/D转换后的相应数值为D,由于是线性关系,函数关系A=f(D)可以表示为数学方程:   &nb ...…

查看全部问答>

求助:关于TLV320AIC23的操作

各位大虾:我在DM642里面对TLV320AIC23进行Transmit操作时,遇到一个问题。代码如下,各同步时钟信号AFSX、ACLKX、AHCLKX由AIC23提供。 MCASP_ConfigSrctl MysrctlRegs = {      0x00000009,    //AXR00=Xmt &nbs ...…

查看全部问答>

酒店数字电视改造方案,供参考

大家来看看这份数字电视改造方案,是我一个网友发来的, 先拿出来给大家分亨一下,或许你们也会用得着!  方案原理:用30多个机顶盒+邻频调制器,做出30多个频道,供给100多个房间都能收看30多个频道。酒店按常规需要100多个机顶盒,用数字电视 ...…

查看全部问答>