嵌入式软件设计之:标识符与命名规则

嵌入式软件开发编程习惯之命名规范 嵌入式软件开发习惯 阅读详情

命名风格:

1. unix like 风格:单词用小写字母,单词之间用'_'连接。如:driver_led_init();get_main_pwr();

2. windows 风格:单词连在一起,每个单词首字母大写。如:GetMainPwr();DriverLedInit();

3. 匈牙利命令法: 不提倡

原则1  标识符命名要清晰、明了,含义明确,使用约定的缩写或完整单词,避免产生歧义。

int error_number;

int number_of_completed_connection;

不好的命名:

int n;int nerr; int n_comp_conns;

2.常用的缩写:

argument:arg

buffer:buff

clock:clk

command:cmd

compare:cmp

configuration:cfg

device:dev

error:err

hexadecimal:hex

increment:inc

initialize:init

maximum:max

minimum:min

message:msg

parameter:para

previous:prev

register:reg

semaphore:sem

statistic:stat

synchronize:sync

temp:tmp

3.用正确的反义词组命名具有互斥意义的变量或相反动作的函数

add--remove  begin---end  create--delete  

first--last         take----release  increment--decrement

get--put          lock---unlock    open--close

min--max         old--new         start--stop

next--previous   show--hide    send--receive

source--target    source--destination  copy--paste   up--down

4.重构、修改代码风格应保持一致

文件命名规则

文件命名统一采用小写字符

像windows系统不区分大小写字母,linux系统区分大小写字母,所以统一使用小写字母命名文件。

变量命名规则

全局变量前应增加"g_"前辍

静态变量前应增加"s_"前戳

函数命名规则

以函数要执行的动作命名,一般用动词或动词+名词的方式

如:get_current_time();

宏命名规则

数值或字符串等常量的定义,采用全大写字母+‘_’的方式

#define  CONNECTION_MAX_NUM 32

枚举量

同上

除了头文件和编译开关等特殊标识定义,宏定义不能使用下划线‘_’做开头和结尾,以为这些通常是C99内部定义,避免冲突。

嵌入式软件版本命名规范与实践指南 版本控制是软件开发中的基础概念,通过语义化版本号(SemVer)实现迭代管理。其核心原理采用主版本号.次版本号.修订号的三段式结构,分别对应重大更新、功能新增和问题修复。在嵌入式系统开发中,规范的版本命名尤为重要,能有效解决代码追溯、团队协作和发布管理等问题。典型的应用场景包括固件升级、多设备兼容性维护等场景。本文基于行业实践,详解包含日期标识和阶段标记(如alpha/beta/rc)的增强型命名方案,特别适用于对稳定性要求严格的嵌入式软件项目。 阅读详情

相关推荐

嵌入式课程之C语言知识点

C语言相关知识

qq_52174994的博客 713

嵌入式C/C++命名规范

函数声明和定义的返回类型和函数名在同一行;函数参数列表超出行宽时要换行并合理对齐在声明和定义函数的时候,函数的返回值类型应该和函数名在同一行;如果行宽度允许,函数参数也应该放在一行;否则,函数参数应该换行,并进行合理对齐。参数列表的左圆括号总是和函数名在同一行,不要单独一行;右圆括号总是跟随最后一个参数。ReturnType FunctionName(ArgType paramName1, ArgType paramName2) // Good:全在同一行...

Lim的博客 2348

嵌入式软件编程规范:从排版注释到代码可测性实践

代码规范是软件质量的基石,尤其对于嵌入式开发,统一的排版、注释和命名规则能显著提升代码可读性与可维护性。在C语言工程中,缩进与空格的混用、注释缺失、命名随意往往导致代码评审效率低下和后期维护困难。从基础概念出发,清晰的结构化排版和注释约定不仅让代码易扫读,还能通过接口契约减少调用歧义。实际工程中,配合Git提交规范、可测性设计及编辑器配置,可有效控制代码变更范围,保障团队协作的一致性。以实战为导向的嵌入式软件编程规范,系统梳理从排版、注释、命名到宏与函数设计的完整规则,为嵌入式开发者提供可落地的编码实践。

weixin_29188043的博客 196

软件编写规范(标识符命名)

//摘抄自华为软件编写规范 1、标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解 说明:较短的单词可通过去掉“元音”形成缩写;较长的单词可取单词的头几个字母形成缩写;一些单词有大家公认的缩写。 示例:如下单词的缩写能够被大家基本认可。 temp 可缩写为 tmp ; flag 可缩写为 flg ; statisti

Summer的博客 3031

嵌入式软件编程规范.pdf

嵌入式软件编程规范.pdf

Flowable第一篇、快速上手(Flowable安装、配置、集成)

Flowable是一个轻量级、高效可扩展的工作流和业务流程管理(BPM)引擎,支持在Java应用程序中实现复杂的工作流自动化。Flowable最初是作为Activiti项目的一个分支发展而来的,但它现在已经成为一个独立的开源项目,并在企业级应用中得到了广泛使用

Du_XiaoNan的博客 1万+

嵌入式软件开发的这些编程规范你了解吗

我们可以采用的是“定点”的方法来解决这个问题,就是直接放大10的N次方倍进行整数的计算,可以得出近似值,因此为了不增加不必要的麻烦,应该总是尽量避免使用浮点运算,一般情况也是可以避免的。我们编写的代码首先是给人看的,其次才是给机器执行的,这就要求我们团队中的每个人在编写软件的时候,要遵循统一的。在实际项目开发过程中,遵循统一的编程规范相当重要,同学们一定要引起足够的重视,下面我就从代码排版,代码注释,标识符命名,代码可读性和函数设计几个方面来讲解比较通用的嵌入式软件编程规范。interrupt等。

wangchen900705的博客 1206

madgwick算法基于MPU9250姿态融合漂移问题的原因

基于MPU9250的madgwick算法姿态漂移问题原因 0、声明 因为这个是现象是不是共性目前本人还没研究过,只是在个体问题研究的基础上得出的结论,或许我买到的MPU9250是一个盗版:),所以只具备参考性。 1、现象 使用MPU9250的加速度计、角速度计、磁力计(AK8963)原始数据输入到madgwick算法中,得到的姿态最终会在停止姿态变化后仍然漂移一小段时间。其中加速度计和角速度计读取速率为400hz,磁力计为100hz,加速度计采样范围±2g,角速度计采样范...

GreedyZombie的博客 3872

嵌入式软件开发编程规范介绍

我们可以采用的是“定点”的方法来解决这个问题,就是直接放大10的N次方倍进行整数的计算,可以得出近似值,因此为了不增加不必要的麻烦,应该总是尽量避免使用浮点运算,一般情况也是可以避免的。我们编写的代码首先是给人看的,其次才是给机器执行的,这就要求我们团队中的每个人在编写软件的时候,要遵循统一的。在实际项目开发过程中,遵循统一的编程规范相当重要,同学们一定要引起足够的重视,下面我就从代码排版,代码注释,标识符命名,代码可读性和函数设计几个方面来讲解比较通用的嵌入式软件编程规范。interrupt等。

wangchen900705的博客 783

了解随机振动疲劳分析中 Ansys nCode DesignLife 的平均应力校正

通过选择静态环境,我们可以将其结果视为疲劳计算的平均应力,如图 3 所示,因此从静态偏移载荷工况中提取的平均应力用于转移预测雨流计数中所有循环的平均值。您可以通过观看下面的教学视频获得宝贵的见解,该视频将指导您完成利用 Ansys nCode DesignLife 分析平均应力对随机振动载荷下结构的影响的过程。它基于 R 比率或平均应力水平。另一方面,平均应力校正可以帮助消除平均应力的负面影响,提高结果的保真度。Ansys nCode 提供先进的平均应力校正技术,使工程师能够考虑平均应力对疲劳寿命的影响。

jkh920184196的博客 1519

基于应用谱减法进行语音去噪的算法

在上述代码中首先通过读取语音信号和噪声信号,将两个信号都转换为频域信号,然后计算出语音信号在各频率下的功率谱和噪声信号在各频率下的功率谱,并基于此计算信噪比,接着根据信噪比计算出阈值,并将低于阈值的能量对应的频段进行清零操作,最终实现去噪处理,最后将处理后的信号转换回时域信号。该算法采用谱减法进行降噪处理,能有效地去除语音信号中的噪声,但是在实际应用中,该方法也存在一些问题,如会对语音信号的高频部分产生影响,所以需要在应用过程中进行适当的调整。

weixin_50547796的博客 192

嵌入式工程师函数变量,常用的命名规则(参考学习)

帕斯卡命名法与驼峰命名法类似,只不过驼峰命名法是第一个单词首字母小写,而帕斯卡命名法则是第一个单词首字母大写。很多工程师不注重平时编码习惯,比如命名规则,一会大写、一会小写,一会中文拼音,一会下划线等,导致自己写的代码自己都看不懂了。事实上,很多程序设计者在实际命名时会将驼峰命名法和帕斯卡结合使用,例如变量名采用驼峰命名法,而函数采用帕斯卡命名法。单字符的名字也是常用的,如i, j, k等,它们通常可用作函数内的局部变量。据考察,没有一种命名规则可以让所有的程序员赞同,程序设计教科书一般都不指定命名规则。

wangxiansheng121的博客 1671

YOLOv11改进 | 添加注意力篇 | 一文带你改进GAM、CBAM、CA、ECA等通道注意力机制和多头注意力机制

这篇文章给大家带来的改进机制是一个汇总篇,包含一些简单的注意力机制,本来一直不想发这些内容的(网上教程太多了,发出来增加文章数量也没什么意义),但是群内的读者很多都问我这些机制所以单独出一期视频来汇总一些比较简单的注意力机制添加的方法和使用教程,本文的内容不会过度的去解释原理,更多的是从从代码的使用上和实用的角度出发去写这篇教程。欢迎大家订阅我的专栏一起学习YOLO!YOLOv11改进系列专栏——本专栏持续复习各种顶会内容——科研必备目录一、本文介绍二、GAM2.1 GAM的介绍2.2 GAM的核心代码。

Snu77的博客 5154

这种嵌入式软件代码命名,都无需看注解了

关注、星标公众号,直达精彩内容来源 | 网络良好的编程习惯,决定了今后代码的质量。很多工程师不注重平时编码习惯,比如命名规则,一会大写、一会小写,一会中文拼音,一会下划线等,导致自己写的代码自己都看不懂了。今天就来分享一点关于软件代码常见的几种命名规则。匈牙利命名法匈牙利命名法广泛应用于微软 Windows 这类环境中,这种命名技术是由微软早期的一位能干的 Microsoft 程序员查尔斯·西蒙尼...

李肖遥的专栏 230

电磁兼容(EMC)整改案例(七):EFT测试失败都是IC悬空引脚惹的祸

无论任何时候,为了避免这些问题,通常建议对悬空的IO口进行适当的配置,比如设置为强推挽输出低电平、输入带上拉或下拉电阻等,以减少外部电路对IO管脚状态的影响,并提高系统的稳定性和可靠性.

linkking27的博客 1032

复现论文《Analysis of circulating current mechanism of Grid-forming offshore wind farm based on DRU-HVDC》

该论文研究了基于二极管整流单元(DRU)和低频交流(LFAC)输电的构网型(GFM)海上风电场并网系统中环流的产生机理。由于 DRU 不可控,系统电压与频率依赖于风力发电机(WT)的网侧变流器,当多台 WT 并联运行时,因输出电压幅值、相位、输出阻抗或频率不匹配,会产生基频环流,导致系统损耗增加与稳定性下降。论文通过理论建模与 MATLAB/Simulink 仿真,分析了四种不平衡工况下的环流机理,并指出幅值不平衡和阻抗不平衡引起无功环流,相位不平衡引起有功环流,频率不平衡则引起环流振荡,为后续环流抑制研究

huanghm88的专栏 104

高质量嵌入式软件的开发技巧

笑傲江湖》华山派的剑宗和气宗之争,可谓异常激烈。那么问题就来了,既然有剑宗气宗之争,到底应该先练剑,还是先练气呢?前面发布 很多理论方面的文章,诸如4篇这些都是具备一定基础再架构上的描述,类似于气宗性质,这些见效慢,但高质量的软件开发,也是存在见效快的套路,针对有一定嵌入式C语言开发基础的,剑宗之法进行描述,抛砖引玉。更多技能请搜索关注。

嵌入式系统 730

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

《智能取餐柜实战》2-嵌入式软件开发规范

本小节介绍了嵌入式开发中 C 语言规范的部分内容,包括工程命名、文件命名、方法命名、变量命名、类型命名、宏、常量、枚举命名等方面。这些规范有助于提高代码可读性、团队协作性和代码质量。

2401_84103060的博客 1454

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

嵌入式软件开发编程规范很重要,很重要,很重要!

写在前面Ⅰ不知道大家有没有这样的感受:看到不规范(杂乱差)的代码,瞬间就没有看下去的欲望了。 相信大家看到标题都应该能明白编程的规范及原则对于每一个软件开发的工程师来说是...

407

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

嵌入式C语言编程规范

0规范制定说明 0.1箴言 技术人员设计程序的首要目的是用于技术人员沟通和交流,其次才是用于机器执行。程序的生命力在于用户使用,程序的成长在于后期的维护及根据用户需求更新和升级功能。如果你的程序只能由你来维护,当你离开这个程序时,你的程序也和你一起离开了,这将给公司和后来接手的技术人员带来巨大的痛苦和损失。因此,为了程序可读、易理解、好维护,你的程序需要遵守一定的规范,你的程序需要设计。 “...

qq_27006271的博客 796

嵌入式C语言编程规范(个人规约) 分类: 嵌入式开发学习 ...

0规范制定说明 0.1箴言 技术人员设计程序的首要目的是用于技术人员沟通和交流,其次才是用于机器执行。程序的生命力在于用户使用,程序的成长在于后期的维护及根据用户需求更新和升级功能。如果你的程序只能由你来维护,当你离开这个程序时,你的程序也和你一起离开了,这将给公司和后来接手的技术人员带来巨大的痛苦和损失。因此,为了程序可读、易理解、好维护,你的程序需要遵守一定的规范,你的...

weixin_30951743的博客 1024

嵌入式软件开发编程规范及原则!

写在前面Ⅰ不知道大家有没有这样的感受:看到不规范(杂乱差)的代码,瞬间就没有看下去的欲望了。 相信大家看到标题都应该能明白编程的规范及原则对于每一个软件开发的工程师来说是...

4652

嵌入式软件开发工程师的养成之路——从 推挽输出 开始

自己有点单片机的基础,打算从车辆行业跨到嵌入式领域了,自己不太想去结构岗,有点枯燥,且不好体现自己的竞争力。另外,自己也想去大城市闯荡,职业发展前景和W才是王道。 推挽输出 只有两种状态(示意图如下)交替导通,实现高低电平的快速切换 使用场景:功率放大器等 左图拉电流;右图灌电流 开漏输出 下图的小灯永远不会亮,Q10三极管导通,注意右边的上拉电阻和右边的5V电压,电流经过Q10不会经过LED 优点:输出能力强,可以实现线路中有多个电平,右边的5V可以改变成需要的数值,可以实现电平的匹配;有外部的驱动能

engineer811的博客 642

C程序设计语言——基础概念

C语言从入门到精通 每天进步一点点,日积月累。 纸上得来终觉浅,绝知此事要躬行。 C 语言概述 为什么学习C语言 C语言的起源和发展 第一代语言:机器语言(0000、1111、1101) 第二代语言:汇编语言(ADD、AX、BX) 第三代高级语言 结构化语言:使得它的数据和操作是分离的 Fortran(用于科学计算) Basic(->VB) C语言 Pascal(用于教学) 面向对象语言 Algo simula67 Ada smallTalk C++ Java(->C#)

巧克力布丁的博客 3493

数字信号处理12——嵌入式软件开发经验

一、位求和运算 计算二进制位的求和,如bsum(7&0x0000FFF); ```c int bsum(int arg) { int res = 0; for (int i = 0; i<32; i++) { res += arg & (int)1; arg >>= (int)1; ...

GZ的博客 1169
上一篇: 嵌入式软件设计之:函数设计原则
下一篇: 嵌入式软件设计之:变量使用原则
μLink
博客等级 码龄5年 123粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值