【MISRA C 2012】Rule 2.4 项目不应包含未使用的标记声明

  • 1. 规则
    • 1.1 原文
    • 1.2 分类
  • 2. 关键描述
  • 3. 代码实例

1. 规则

1.1 原文

【MISRA C 2012】Rule 2.4 项目不应包含未使用的标记声明_第1张图片

1.2 分类

规则2.4:项目不应包含未使用的标记声明
Advisory建议类规范。

2. 关键描述

如果声明了一个标签但没有使用,那么审阅者就不清楚这个标签是多余的还是错误地没有使用。

3. 代码实例

例1,规范中例程:
在下面的示例中,枚举申明状态未被使用。

void unusedtag(void)
{ 
	enum state { S_init, S_run, S_sleep }; /* 不合规的 */
}

在下面的示例中,record_t仅在record_1_t的typedef中使用,定义变量时只是用record1_t而不使用record_t ,则不符合规范。可以通过省略record2_t定义中所示的record_t ,以兼容的方式编写这个类型定义。

typedef struct record_t /* 不合规的 */
{
    uint16_t key;
    uint16_t val;
} record1_t;

typedef struct /* 合规的*/
{
	uint16_t key;
	uint16_t val;
} record2_t;

你可能感兴趣的:(MISRA,C,2012,规则系列归纳分析,c语言,开发语言,mcu,自动驾驶,代码规范,安全)