STM32C/C++/代码规范

 STM32 编程中一些常见的代码规范:

一、命名规范

  • 变量命名
    • 采用有意义的英文单词或词组来命名变量。例如,对于存储计数器值的变量,可以命名为countercountValue;对于表示时间的变量,可以命名为timetimeDuration
    • 对于局部变量,可适当采用简写,但要保证清晰易懂。例如,在一个函数中表示临时索引的变量可以命名为idx
    • 避免使用单个字符(如ab等)作为变量名,除非是在简单的循环计数器等非常明确的情况下。
  • 函数命名
    • 函数名应清晰地反映函数的功能。例如,initGPIO用于初始化 GPIO 端口,sendData用于发送数据等。
    • 采用动词 + 名词的形式,使函数的操作和操作对象一目了然。
  • 宏定义命名
    • 全部使用大写字母,并用下划线分隔单词。例如,#define MAX_VALUE 100#define ADC_BUFFER_SIZE 256

二、代码格式规范

  • 缩进与空格
    • 使用 4 个空格进行缩进,以提高代码的层次感和可读性。例如:
if (condition) {
    // 这里有 4 个空格的缩进
    statement1;
    statement2;
}
  • 在运算符两侧、逗号后面等适当位置添加空格,以增强表达式的可读性。例如:a = b + c;而不是a=b+c;func(a, b, c)而不是func(a,b,c)
  • 括号使用
    • 在条件语句、循环语句等控制结构中,即使条件或循环体只有一条语句,也要使用括号将其括起来。例如:
if (condition) {
    statement;
}
  • 函数定义和调用时,括号的使用要规范。例如:functionCall(arg1, arg2)int functionDefinition(int arg1, int arg2)

三、注释规范

  • 函数注释
    • 在函数定义的上方,使用多行注释对函数的功能、参数、返回值等进行说明。例如:
/*
 * 函数名:initSPI
 * 功能:初始化 SPI 接口
 * 参数:无
 * 返回值:无
 */
void initSPI(void) {
    // 函数体
}
  • 代码段注释
    • 对于复杂的代码段,在代码段的上方或旁边使用单行或多行注释解释其功能和实现思路。例如:
// 以下代码用于计算平均值
sum = 0;
for (i = 0; i < numElements; i++) {
    sum += array[i];
}
average = sum / numElements;

四、头文件和源文件规范

  • 头文件包含顺序
    • 在源文件中,按照一定的顺序包含头文件。通常先包含本项目的头文件,再包含标准库头文件,最后包含第三方库头文件。例如:
#include "myProjectHeader.h"
#include <stdio.h>
#include <stm32f10x.h>
  • 头文件保护
    • 在头文件中使用#ifndef#define#endif来防止头文件被重复包含。例如:
#ifndef _MY_HEADER_H
#define _MY_HEADER_H

// 头文件内容

#endif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值