﻿# V2633\. MISRA\. Identifiers should be distinct from macro names\.

Данное диагностическое правило основано на руководстве [MISRA](https://misra.org.uk/) \(Motor Industry Software Reliability Association\) по разработке программного обеспечения\.

Это правило актуально только для C\.

Имена макросов должны отличаться от имён идентификаторов\. 

Минимальное требование к их различимости зависит от версии стандарта:

* C90 — первый 31 символ;
* C99 — первые 63 символа\.



Правило требует, чтобы имена были различимы в рамках ограничений, налагаемых стандартом\.

Нижеперечисленные примеры будут касаться C90\.

Пример некорректного кода:



```cpp
//         1234567890123456789012345678901
#define    average_winter_air_temperature_Monday       awt_m
static int average_winter_air_temperature_tuesday;
```

Имена макроса и идентификатора неразличимы при сравнении первых 31 символов\.

Корректный код:

```cpp
//         1234567890123456789012345678901
#define    average_winter_air_temp_Monday       awt_m
static int average_winter_air_temp_tuesday;
```