我的命名习惯

一直很认同关于自由和约束辩证关系的理论。觉得在约束下的自由更舒服更加容易把握,一个人所能驾驭的自由跟他的能力是成正相关的,不然的话自由就会变成迷茫。

其实从读书开始我就觉得命名是个很纠结的事情,再加上我有比较严重的强迫症,看不顺眼的命名我会一直惦记着,很难集中精神去进行下一步的工作,所以其实名字起的好的话工作效率很提高得很明显,很有必要规范一下,减少纠结的时间。

一:关于目录名

这里借鉴一下常见开源项目的做法:小写单词组合,用“-”分隔开

注:如果使用visual studio的话,解决方案和项目名称

二:文件、类、变量、常量、函数、宏

遵从google C++ 命名规范:7. 命名约定 — Google 开源项目风格指南

在单片机项目的开发中,良好的命名规范不仅有助于提升代码的可读性和可维护性,还能提高团队协作效率。以下是一些常见的命名习惯和规范: ### 3.1 变量命名 - **局部变量**:通常使用小写字母,多个单词之间用下划线分隔。例如,`int led_state;`。 - **全局变量**:可以在前面加上`g_`前缀以表明其作用域。例如,`int g_led_state;`。 - **静态变量**:使用`static`关键字声明,通常用于限制变量的作用域。例如,`static int led_counter;`[^1]。 ### 3.2 函数命名 - **函数名**:使用动词或动宾结构,表示函数的功能。例如,`void initialize(void);`、`void toggleLED(void);`。 - **初始化函数**:通常命名为`init`或`initialize`。例如,`void init_hardware(void);`[^3]。 ### 3.3 常量命名 - **常量**:使用全大写字母,多个单词之间用下划线分隔。例如,`#define LED_PIN 1`。 - **宏定义**:同样使用全大写字母,例如,`#define MAX_DELAY 1000`[^1]。 ### 3.4 结构体和枚举命名 - **结构体**:使用大驼峰命名法,首字母大写。例如,`typedef struct { int x; int y; } Point;`。 - **枚举**:同样使用大驼峰命名法,例如,`typedef enum { OFF, ON } LEDState;`。 ### 3.5 文件命名 - **文件名**:使用有意义的名字,通常为小写字母,多个单词之间用下划线分隔。例如,`led_control.c`、`button_handler.h`。 - **头文件**:以`.h`结尾,源文件以`.c`结尾。例如,`main.h`、`main.c`[^2]。 ### 3.6 注释规范 - **文件注释**:每个文件应包含文件名、简介、详细信息、作者、创建日期、版本号和版权信息。例如: ```c /** * @file main.c * @brief 主程序文件,包含初始化和主循环。 * @details 本文件负责初始化硬件并进入主循环处理按钮事件。 * @author 张三 * @date 2023-10-01 * @version V1.0.0 * @copyright 版权所有 © 2023 公司名称 */ ``` - **函数注释**:每个函数应包含功能描述、参数说明、返回值等信息。例如: ```c /** * @brief 初始化硬件配置。 * @details 设置LED引脚为输出和启用按钮引脚的上拉电阻。 */ void initialize(void); ``` ### 3.7 其他命名习惯 - **循环变量**:通常使用简单的单字母变量,如`i`、`j`、`k`等。 - **数组**:使用复数形式的名词,例如,`int temperatures[10];`。 - **指针**:可以在变量名前加上`p_`前缀,例如,`int *p_led_state;`[^1]。 通过遵循这些命名规范,开发者可以编写出更加清晰、易读和易于维护的代码,特别是在大型项目或团队协作中尤为重要。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值