【C语言】C语言代码的编写规范、注释规范
【C语言】C语言代码规范
文章目录
- @[TOC](文章目录)
- 前言
- 一、编写规范
- a、MISRA-C
- 1、背景与目的
- 2、发展历程
- 3、准则内容
- 4、应用与优势
- b、华为
- 二、注释规范
- 1.文件头注释
- 2.函数头注释
- 3.代码行注释
- 4.特殊注释
- 三、参考资料
- 总结
文章目录
- @[TOC](文章目录)
- 前言
- 一、编写规范
- a、MISRA-C
- 1、背景与目的
- 2、发展历程
- 3、准则内容
- 4、应用与优势
- b、华为
- 二、注释规范
- 1.文件头注释
- 2.函数头注释
- 3.代码行注释
- 4.特殊注释
- 三、参考资料
- 总结
前言
提示:以下是本篇文章正文内容,下面案例可供参考
一、编写规范
a、MISRA-C
MISRA-C工业标准的C编程规范(中文版).pdf
MISRA-C是由汽车工业软件可靠性协会(Motor Industry Software Reliability Association,MISRA)制定的一套针对C语言的编码准则,以下是对MISRA-C的详细介绍:
1、背景与目的
背景:MISRA最初为汽车行业开发了这些规范,用于提升汽车制造业中嵌入式代码的安全性、可靠性。
目的:减少代码中的错误,提高代码的可读性、可维护性和可靠性,确保代码在不同的编译器和平台上的可移植性。
2、发展历程
MISRA先后发布了三版编码准则,分别是MISRA C:1998、MISRA C:2004和MISRA C:2012。其中,MISRA C:2012(第三版,第一次修订版)发布于2019年2月,整合了此前发布的AMD1(修订案1,MISRA C:2012的附加安全准则)和TC1(技术更正1)的内容,并后续经过修订。
3、准则内容
MISRA-C规范包含了一系列关于C语言编码的规则和指导,这些规则旨在规范诸如类型转换、指针使用、内存分配、代码风格等方面的编程实践。
MISRA C:2012规定了一个C语言的子集,共有175条编码准则(guideline),分为指令(directive)和规则(rule)两部分:
指令:共17项,不具备完整描述,仅分析源代码无法进行合规性判定,需要结合设计文档或开发人员经验综合判定。指令均为不可判定。
规则:共158条,具备完整的描述和要求,无需额外的信息就可以对源代码进行合规性判定。规则分为可判定或不可判定。
此外,准则有三种分类,分别是Mandatory(强制性准则,绝对不允许违反)、Required(要求性准则,只有符合MISRA对偏差的要求时才允许违反)和Advisory(建议性准则,只需在合理的范围内遵循,无需符合正式偏差,若不遵循应做好记录)。准则的作用域分为“单一翻译单元”和“系统”。
4、应用与优势
应用领域:虽然MISRA-C最初是为汽车行业设计的,但现已成为其他行业(如航空航天、医疗设备和铁路系统)的编码标准。
优势:遵循MISRA-C规范可以降低软件缺陷的风险,提升代码的可靠性、可读性、可移植性和可维护性。同时,它还有助于预防缺陷的产生,减少因软件问题而导致的召回和损失。
b、华为
华为C语言编程规范 PDF
二、注释规范
1.文件头注释
/*
* File: example.c
* Author: Abin
* Date: 2023-03-01
* Description: This file contains an example of C code.
* Version: 1.0
*/
2.函数头注释
/*
* Function: add
* Description: Adds two integers and returns the result.
* Input: a - the first integer
* b - the second integer
* Output: None
* Returns: The sum of a and b
*/
int add(int a, int b) {
return a + b;
}
3.代码行注释
int i = 0; // initialize i to zero
4.特殊注释
// TODO: implement this function
int foo() {
// FIXME: this code causes a memory leak
return 0;
}
三、参考资料
C代码的注释规范
C语言编写规范之注释
C 语言编码规范(MISRA-C-:2004)
C语言 - MISRA代码规范
C语言代码注释规范
C代码风格及注释(个人规范)
总结
本文仅仅简单介绍了【C语言】C语言代码规范,评论区欢迎讨论。