C语言注释规范

华为C语言编程规范—注释 2-1:一般情况下,源程序有效注释量必须在20%以上。 说明:注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。 2-2:文件头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、修改日志等。 示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /**** 阅读详情


2-1:一般情况下,源程序有效注释量必须在20%以上。


说明:注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。

2-2:文件头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、修改日志等。


示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。


/*****************************************************************************

Copyright: 1988-1999, Huawei Tech. Co., Ltd.

File name: 文件名

Description: 用于详细说明此程序文件完成的主要功能,与其他模块或函数的接口,输出值、取值范围、含义及参数间的控制、顺序、独立或依赖等关系

Author: 作者

Version: 版本

Date: 完成日期

History: 修改历史记录列表, 每条修改记录应包括修改日期、修改者及修改内容简述。

*****************************************************************************/
2-3:函数头部应进行注释,列出:函数的目的/功能、输入参数、输出参数、返回值、调用关系(函数、表)等。


示例:下面这段函数的注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。

/*************************************************

Function: // 函数名称

Description: // 函数功能、性能等的描述

Calls: // 被本函数调用的函数清单

Called By: // 调用本函数的函数清单

Table Accessed: // 被访问的表(此项仅对于牵扯到数据库操作的程序)

Table Updated: // 被修改的表(此项仅对于牵扯到数据库操作的程序)

Input: // 输入参数说明,包括每个参数的作// 用、取值说明及参数间关系。

Output: // 对输出参数的说明。

Return: // 函数返回值的说明

Others: // 其它说明

********************************************/
2-4:边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要删除。

2-5:注释的内容要清楚、明了,含义准确,防止注释二义性。说明:错误的注释不但无益反而有害。

2-6:注释应与其描述的代码相近,对代码的注释应放在其上方或右方(对单条语句的注释)相邻位置,不可放在下面,如放于上方则需与其上面的代码用空行隔开。


示例:如下例子不符合规范。

例1:

/
get replicate sub system index and net indicator /

repssn_ind = ssn_data[index].repssn_index;

repssn_ni = ssn_data[index].ni;

例2:

repssn_ind = ssn_data[index].repssn_index;

repssn_ni = ssn_data[index].ni;

/
get replicate sub system index and net indicator /


应如下书写

/
get replicate sub system index and net indicator /

repssn_ind = ssn_data[index].repssn_index;

repssn_ni = ssn_data[index].ni;

2-7:对于所有有物理含义的变量、常量,如果其命名不是充分自注释的,在声明时都必须加以注释,说明其物理含义。变量、常量、宏的注释应放在其上方相邻位置或右方。


示例:

/
active statistic task number /

#define MAX_ACT_TASK_NUMBER 1000

#define MAX_ACT_TASK_NUMBER 1000 /
active statistic task number /

2-8:数据结构声明(包括数组、结构、类、枚举等),如果其命名不是充分自注释的,必须加以注释。对数据结构的注释应放在其上方相邻位置,不可放在下面;对结构中的每个域的注释放在此域的右方。


示例:可按如下形式说明枚举/数据/联合结构。

/
sccp interface with sccp user primitive message name /

enum SCCP_USER_PRIMITIVE

{

N_UNITDATA_IND, /
sccp notify sccp user unit data come /

N_NOTICE_IND, /
sccp notify user the No.7 network can not /

/
transmission this message /

N_UNITDATA_REQ, /
sccp user’s unit data transmission request
/

};

2-9:全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。


示例:

/
The ErrorCode when SCCP translate /

/
Global Title failure, as follows / // 变量作用、含义

/
0 - SUCCESS 1 - GT Table error /

/
2 - GT error Others - no use / // 变量取值范围

/
only function SCCPTranslate() in /

/
this modual can modify it, and other /

/
module can visit it through call /

/
the function GetGTTransErrorCode() / // 使用方法

BYTE g_GTTranErrorCode;

2-10:注释与所描述内容进行同样的缩排。


说明:可使程序排版整齐,并方便注释的阅读与理解。示例:如下例子,排版不整齐,阅读稍感不方便。

void example_fun( void )

{

/
code one comments /

CodeBlock One

/
code two comments /

CodeBlock Two

}


应改为如下布局。

void example_fun( void )

{

/
code one comments /

CodeBlock One

/
code two comments /

CodeBlock Two

}

2-11:避免在一行代码或表达式的中间插入注释。


说明:除非必要,不应在代码或表达中间插入注释,否则容易使代码可理解性变差。

2-12:通过对函数或过程、变量、结构等正确的命名以及合理地组织代码的结构,使代码成为自注释的。


说明:清晰准确的函数、变量等的命名,可增加代码可读性,并减少不必要的注释。

2-13:在代码的功能、意图层次上进行注释,提供有用、额外的信息。


说明:注释的目的是解释代码的目的、功能和采用的方法,提供代码以外的信息,帮助读者理解代码,防止没必要的重复注释信息。


示例:如下注释意义不大。

/
if receive_flag is TRUE /

if (receive_flag)


而如下的注释则给出了额外有用的信息。

/
if mtp receive a message from links /

if (receive_flag)

2-14:在程序块的结束行右方加注释标记,以表明某程序块的结束。


说明:当代码段较长,特别是多重嵌套时,这样做可以使代码更清晰,更便于阅读。示例:参见如下例子。

if (…)

{

// program code

while (index < MAX_INDEX)

{

// program code

} /
end of while (index < MAX_INDEX) / // 指明该条while 语句结束

} /
end of if (…)
/ // 指明是哪条if 语句结束

2-15:注释格式尽量统一,建议使用“/
…… */”。

2-16:注释应考虑程序易读及外观排版的因素,使用的语言若是中、英兼有的,建议多使用中文,除非能用非常流利准确的英文表达。


说明:注释语言不统一,影响程序易读性和外观排版,出于对维护人员的考虑,建议使用中文。

C语言编程规范--代码注释 Doxygen是一个程序的文件产生工具,可将程序中的特定批注转换成为说明文件。通常我们在写程序时,或多或少都会写上批注,但是对于其它人而言,要直接探索程序里的批注,与打捞铁达尼号同样的辛苦。大部分有用的批注都是属于针对函式,类别等等的说明。所以,如果能依据程序本身的结构,将批注经过处理重新整理成为一个纯粹的参考手册,对于后面利用您的程序代码的人而言将会减少许多的负担。不过,反过来说,整理文件的工作对于您来说,就是沉重的负担。 阅读详情

相关推荐

C语言项目必备:Doxygen注释规范全解析(附实战代码示例)

本文全面解析了C语言项目中Doxygen注释规范的应用,包括环境配置、基础工作流、注释规范详解及高级文档生成技巧。通过实战代码示例,帮助开发者提升代码可读性和维护效率,特别适合团队协作项目。

l3m4n的博客 875

华为C语言编程规范(3)—注释

2-1:一般情况下,源程序有效注释量必须在20%以上。 说明:注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。 2-2:文件头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、修改日志等。 示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /****

第7章 4067

C语言 - Doxygen代码注释规范实战指南

本文详细介绍了C语言项目中Doxygen代码注释规范的实战应用,包括环境搭建、注释技巧和高级配置。通过结构化注释和自动化文档生成,提升团队协作效率和代码可维护性,特别适合大型C语言项目和嵌入式开发。

vscode6remote的博客 188

Java编程规范-注释

注释 加上注释,格式尽量和规范保持一致 Java 程序有两类注释: 实现注释 (implementation comments) 和 文档注释 (document comments) 。 实现注释 是使用 /* … */ 和 // 界定的注释,用于注释代码或者注释特殊的实现。 文档注释 也称为 javadoc ,是 Java 所特有的,由 /** … */ 界定,可以通过 javadoc 工具转换成 HTML 文件,主要是描述代码段的说明,以编程手册的形式呈献给其他开发人员。 通常注释应该是给代码一个总的描

想着百万年薪努力的小赵 1405

嵌入式C语言注释规范与最佳实践

代码注释是软件开发中不可或缺的文档化手段,其核心原理在于通过自然语言补充代码语义,解决机器指令与人类思维之间的鸿沟。在嵌入式系统开发领域,规范的注释实践具有特殊技术价值:一方面满足ISO 26262等功能安全标准要求,另一方面能有效降低团队协作成本。通过Doxygen等工具可实现注释自动生成API文档,大幅提升开发效率。典型应用场景包括汽车电子ECU开发、工业控制固件编写等对代码可维护性要求苛刻的领域。本文重点解析嵌入式C语言中文件头注释、函数注释等规范要点,并分享STM32 HAL库等实际项目中的注释技巧

weixin_34725745的博客 602

【脑电分析系列】第7篇:频域分析基石 — 功率谱密度(PSD)的计算与常见方法对比

本文探讨了脑电图(EEG)频域分析的核心方法——功率谱密度(PSD)。通过对比基于快速傅里叶变换的周期图法和更稳健的Welch's方法,指出后者通过分段、加窗和平均处理,能有效降低估计方差,更适合分析非稳态的脑电信号。文章详细解析了关键参数设置对频率分辨率和统计稳定性的影响,并提供了Python计算实现。PSD分析将复杂的脑电信号转换为直观的频域特征,为研究认知功能和神经疾病提供重要依据。

qq_32516809的博客 1800

idea中使用Statistic插件统计工程项目代码量,统计代码的注释率

Source Code Lines(%) :源代码行数百分比(Source Code Lines/Total Lines)Comment Lines(%) : 注释行数百分比(Comment Lines/Total Lines)Blank Lines(%) : 空行百分比(Blank Lines/Total Lines)可见,可对不同类型,从不同维度对工程项目的代码量进行统计,就可以统计工程中的代码行数。Source Code Lines :源代码行数(不包括注释,空行)

一天不写代码难受的博客 3736

SQL Server2008详细安装步骤(超详细步骤)

https://pan.baidu.com/s/1yvolqfU-AbiuGrIzblA7pA 提取码:lzw81.下载好安装包后解压到除C盘以外的磁盘,避免系统卡顿2.使用管理员身份打开安装程序注意:使用管理员身份打开时,此时如果显示以下画面属于正常现象,下载安装即可。因为.net现在有很多软件都需要,包括SQLSERVER2008,它里面有visual studio都要有net,电脑系统没有的话安装一下好了。3.选择全新安装或向现有安装添加新功能4.点击确定5.出现以下画面之后,输入产品密钥即可(密钥在

m0_67402774的博客 4万+

注释可以出现在c语言任何位置,在c程序中,注释语句只能位于一条语句的后面吗...

错误,在C语言中注释部分对程序的运行结果不产生任何影响,它可以出现在程序的任何位置。在C语言中有两种注释方式:一种是以“/*”开始、以“*/”结束的块注释;一种是以“//”开始、以换行符结束的单行注释。相关推荐:C语言视频教程C语言中的注释在编写C语言源代码时,应该多使用注释,这样有助于对代码的理解。在C语言中有两种注释方式:一种是以/*开始、以*/结束的块注释(block comment);另一...

weixin_35315019的博客 1万+

SeetaFace6人脸活体检测C++代码实现Demo

活体检测是判断人脸图像是来自真人还是来自攻击假体(照片、视频等)的方法。 人脸识别系统存在被伪造攻击的风险。因此需要在人脸识别系统中加入活体检测,验证用户是否为真实活体本人操作,以防止照片、视频、以及三维模型的入侵,从而帮助用户甄别欺诈行为,保障用户的利益。

mickey2007的博客 3468

HAL库硬件SPI驱动ST7735 TFT屏幕:从零实现高效刷屏与图形绘制

本文详细介绍了如何使用STM32的HAL库硬件SPI驱动ST7735 TFT屏幕,从硬件连接到SPI配置优化,再到图形绘制与文本显示的实现。重点分享了DMA传输、局部刷新等高级优化技巧,显著提升刷屏效率,帮助开发者快速掌握屏幕驱动技术并应用于实际项目。

pink的博客 740

linux统计代码注释率,统计代码注释率

#!/bin/bash#program:# 分析.c,.cpp文件,计算文件行总数,代码行总数,注释行总数,空白行总数,代码注释率# 注释类型:# (1)行注释"//这里是注释内容"# (2)块注释"/*这里是注释内容*/"#History:#2013/12/16 Fgx First releasePATH=/bin:/sbin:/usr/bin:/...

weixin_42509197的博客 480

17. ADC开发

bes2700 支持2路ADC。

雪飞_海 340

【C语言】C语言代码的编写规范、注释规范

提示:以下是本篇文章正文内容,下面案例可供参考本文仅仅简单介绍了【C语言】C语言代码规范,评论区欢迎讨论。

qq_42681425的博客 2196

816华为OD机试真题 新系统 - 电池充电时间计算 (Java/Py/C/C++/Js/Go)

816华为OD机试真题 新系统 - 电池充电时间计算 (Java/Py/C/C++/Js/Go)

算法大师! 469

基于DRU-HVDC的构网型海上风电场环流机理仿真复现

本文介绍了基于DRU-HVDC的构网型海上风电场环流机理仿真模型的构建方法。主要内容包括: 完整的Simulink模型结构,包含主模型文件GFM_DRU_Main.slx和配置脚本GFM_DRU_Setup.m 系统参数设置,包括基础频率(20Hz)、电压基准值(690V)、功率基准值(2MVA)等 四种仿真场景配置:电压不平衡、相位不平衡、阻抗不平衡和频率不平衡 风力发电机(WT)子系统的详细构建步骤,包含电压源、输出阻抗和测量模块 变压器和DRU整流器的参数设置 该模型可用于研究构网型风电场的环流机理。

huanghm88的专栏 261

c语言注释含义,C语言编程规范——注释

前言制定C语言的编程规范,对代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面有巨大的作用。良好的注释能让整个代码读起来更加流畅,此乃程序猿出差旅行,通宵熬夜必备良药......注释的原则注释的目的是解释代码的目的、功能和采用的方法,提供代码以外的信息,帮助读者理解代码,防止没必要的重复注释信息。 示例:如下注释意义不大。/* if receive_flag is TRUE */if (re...

weixin_40009393的博客 2021

uniapp - 详解使用高德地图在地图上实现绘制边界/点聚合/行政区域高亮等功能,Uniapp高德地图点聚合标记及绘制点线面示例代码(全端兼容H5网页、小程序、安卓app、苹果app、nvue)

uni-app,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,高德地图,uniAPP高德地图实现点聚合,地图区域描边、点标记、点信息详情弹窗,实现绘制边界区域,uniapp H5使用高德地图实现点聚合、行政区域高亮,实现高德地图的marker聚合功能,高德地图进行marker标点,点信息展示,点击标记点弹出对话框,点击聚合点后显示信息模态框,打标点,【Uniapp】高德地图的接入自定义标点与信息窗体使用,绘制行政区域边界,绘制多边形,电子围栏,高德行政区划边界,

✅ 精选推荐文章 1万+

C语言代码注释规范

让C代码变得优雅

本末实验室 1215

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

jre9下载 jdk9

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

C语言编程规范-注释

C语言编程规范-注释   规则: 1:一般情况下,源程序有效注释量必须在20%以上。 说明:注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。 2:说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改

bgk083的专栏 992

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

函数 注释规范_「初识C语言」编码规范

C语言编码规范1 排版规则1) 程序应采用缩进风格编写,每层缩进使用一个制表位(TAB),类定义、方法都应顶格书写;2) 源程序建议使用英文书写,尽量不含有中文。每行不超过80字符。对于较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读;循环、判断等语句中若有较长的表达式或语句,则要进行适应的划...

weixin_28837817的博客 1336

函数 注释规范_C语言基础-编程规范!代码不规范,自己两行泪!

前言一个好的程序编写规范是编写高质量程序的保证。清晰、规范的源程序不仅仅是方便阅读,更重要的是能够便于检查错误,提高调试效率,从而最终保证软件的质量和可维护性。说明l 本文档主要适用于刚刚开始接触编程的初学者。l 对于具有一定工程项目开发经验的程序员,建议学习C语言程序代码编写规范—高级版。目录1 代码书写规范2 注释书写规范3 命名规范4 其它一些小技巧和要求1 代码书写规范1.1函数定义花括号...

weixin_30715739的博客 1186

c语言模块 文件 级注释,C语言 - 基于STM32库文件编写符合Doxygen规范的注释

C语言 - 基于STM32库文件编写符合Doxygen规范的注释C语言 - 基于STM32库文件,编写符合Doxygen规范的注释写了这么多,其实还是不知道怎么去写注释。我们知道stm32库文件是符合库文件标准,那么我们就参照它的注释格式,来编写我们的注释文件。为了能使代码能够被Doxygen识别,必须遵循Doxygen的书写规则。注释必须以/**打头,以*/结束。一、添加类型1、添加首页(m...

weixin_30407555的博客 882
上一篇: 博世BMI160六轴传感器I2C通信配置
下一篇: 三种sqrt函数实现
csshuke
博客等级 码龄16年 1517粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值