# 电控组2026代码 **Repository Path**: ucas-sas-robot-team/electric-control-group-2026-code ## Basic Information - **Project Name**: 电控组2026代码 - **Description**: 中国科学院大学SAS战队-电控组-2026赛季代码 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-15 - **Last Updated**: 2025-12-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 电控组 2026 赛季代码 ## 项目介绍 电控组 2026 赛季代码,涉及工程机器人、轮腿、哨兵、老英雄、老步兵以及超级电容等方面。 --- ## 代码规范 为了使代码更易读便于维护,现统一规范:(对于cubeMX生成的基础代码不更改) 1. 缩进宽度使用 4 个空格 2. 大括号的左括号换行约定 - 类、结构体、函数的大括号换行 - 控制语句不换行,如`if`, `for`. 3. 指针和引用符号 * 和 & 靠右对齐类型,比如 `int *val;` 4. 预处理指令中的 # 顶格,但关键字(如 ifdef)根据层级缩进(4个空格) 5. #ifdef 和 #endif中间隔了超过20行,#endif后需要加上注释,例如 ```c #ifdef DEBUG # ifdef MACRO // 20+ lines # endif // MACRO #endif // DEBUG ``` 6. 头文件保护宏开头和末尾不要下划线,以`_H`结尾 7. 头文件末尾要有一个空行(是编译通过必须的而不是风格选择) 8. 头文件里尽量少include,**只include必须的**,把所有只有实现逻辑需要的头文件,移到 .c/.cpp 里去 9. 头文件引用顺序:自己(主头文件) -> 系统库 -> 第三方库 -> 本项目其他库 10. 一行不要写太长,太长了做拆分 > vscode中可以右键代码选择`Format Document`,或者快捷键`shift+alt+F`一键整理。(但只会整理空格换行之类的) ### 命名规范 #### 通用命名规则 尽可能使用描述性的命名, 别怕太冗长,让其他人更容易理解更重要. 不要用只有项目开发者能理解的缩写, 也不要通过砍掉几个字母来缩写单词. 除了一些约定俗成的缩写,如`num`, `id`, `ctrl`等. ```c int price_count_reader; // 无缩写 int num_errors; // "num" 是一个常见的写法 int num_dns_connections; // 人人都知道 "DNS" 是什么 ``` ```c int n; // 毫无意义. int nerr; // 含糊不清的缩写. int n_comp_conns; // 含糊不清的缩写. int wgc_connections; // 只有贵团队知道是什么意思. int pc_reader; // "pc" 有太多可能的解释了. int cstmr_id; // 删减了若干字母. ``` 注意, 一些特定的广为人知的缩写是允许的, 例如用 `i` 表示迭代变量和用 `T` 表示模板参数. #### 命名约定 1. 文件名:小写+下划线 (`chassis_task.c`) 2. 函数名:小驼峰 (`void getMotorSpeed();`) 3. 类/结构体:大驼峰 (`class PowerControl`) 4. 普通变量名:小写+下划线 (`motor_speed`) 5. private成员变量:小写+下划线,下划线结尾 ```c++ class Motor { private: int speed_; // private成员变量 } ``` 6. 常量/宏定义:全大写+下划线 (`#define MAX_VOLTAGE 24`) > 新代码请遵守以上约定,已有代码可逐步重构。 --- ## 2025 现在待做的事 ### 轮腿步兵 ### 工程机器人 ### 超级电容 - **待完成**: 涉及超级电容的控制与管理,相关方案尚在设计阶段。 ### 自定义 UI --- ## 开发规范 - **关于ddl**: 规定时间内的任务应按时完成,杜绝临近ddl时进度还在初步规划 - **上传代码** 严格按照培训规范:生成自己的分支,上传分支且按规范填写commit,申请合并到master分支