C51编程规范:提升代码可读性和正确性
需积分: 5 84 浏览量
更新于2024-12-05
收藏 62KB DOC 举报
"周立功提出的程序代码写作规范旨在提高代码质量,强调代码的可读性、结构化、正确性和可重用性。规范包括基本要求、可读性要求、结构化要求、正确性与容错性要求以及可重用性要求。"
详细说明:
1. **基本要求**
- **程序结构清晰**:鼓励简洁明了的代码结构,每个函数不超过100行,确保代码易于理解。
- **代码精简**:避免冗余和无用的代码,保持意图明确。
- **使用公共函数**:优先考虑使用通用函数,谨慎使用C51标准库函数。
- **限制全局变量**:尽量使用局部变量,减少全局变量的使用以降低命名冲突和作用域问题。
- **括号使用**:使用括号消除潜在的二义性,增加代码的可读性。
- **避免浮点运算**:除非必要,否则不使用浮点运算,可以用定点数代替以提高效率。
2. **可读性要求**
- **可读性优先**:代码首要目标是可读,其次才是效率。
- **注释一致性**:注释需准确反映代码功能,保持与代码同步更新。
- **文件头和函数头说明**:每个源文件和函数都应有相应的描述。
- **变量和常量注释**:解释变量含义,常量定义要有注释说明。
- **处理过程注释**:每个阶段的处理过程都需注释说明。
- **缩进和逻辑结构**:利用缩进来展示逻辑结构,保持一致性。
- **合理控制循环和分支**:循环和分支层次不超过五层,以保持清晰。
- **注释风格**:注释可以与语句同行或上一行,适当使用空行和空白字符。
3. **结构化要求**
- **禁止等价支路**:避免逻辑等效的分支路径。
- **限制goto使用**:仅在特定情况下使用,如跳过循环或错误处理,但应避免影响可读性。
- **if和case语句**:用if强调二选一,用case实现多路分支。
- **减少循环出口**:避免从循环中有多条退出路径。
- **减少函数出口**:减少函数的返回点以提高可读性。
- **逻辑表达式**:避免条件分支,优先使用逻辑表达式。
4. **正确性与容错性要求**
- **正确性优先**:首要目标是保证程序正确运行。
- **错误检查**:编写后立即检查,修改时考虑影响。
- **初始化变量**:所有变量在调用前必须初始化。
- **输入合法性检查**:验证用户输入的有效性。
- **浮点数比较**:避免直接比较浮点数相等,因精度问题可能导致错误结果。
- **参数检查**:函数接收参数时做合法性校验。
- **单元测试**:提交前进行单元测试,确保功能正确。
5. **可重用性要求**
- **头文件管理**:所有C语言程序仅包含一个config.h,其中包含其他头文件。
- **代码复用**:将可复用的代码放入独立文件,使用头文件引入。
- **硬件相关参数**:在config.h中定义硬件相关参数,方便配置。
周立功的程序代码写作规范是一套全面的指导原则,旨在提升代码质量和维护性,适用于C51和C语言编程。遵循这些规范,开发者能够编写出更易于理解和维护的代码,同时也能提高代码的正确性和可重用性。
201 浏览量
288 浏览量
208 浏览量
360 浏览量
2023-02-09 上传
196 浏览量
1172 浏览量
180 浏览量
amwsn
- 粉丝: 2
- 资源: 11
最新资源
- PyDeduplication:大多数只是重复数据删除
- restmachine:用于PHP的Web机器实现
- torch_sparse-0.6.4-cp38-cp38-win_amd64whl.zip
- EMD matlab相关工具(包含EEMD,CEEMDAN)
- matlab的slam代码-ORB_SLAM2_error_analysis:ORB_SLAM2_error_analysis
- jdk1.8安装包:jdk-8u161-windows-x64
- head-in-the-clouds:与提供商无关的云供应和Docker编排
- init:环境初始化脚本
- 英雄
- torch_cluster-1.5.6-cp36-cp36m-win_amd64whl.zip
- 关于VSCode如何安装调试C/C++代码的傻瓜安装
- 导航菜单下拉
- Bird
- raspberry-pi-compute-module-base-board:Raspberry Pi计算模块的基板
- 晶格角
- thrift-0.13.0.zip