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

Данное диагностическое правило основано на руководстве MISRA (Motor Industry Software Reliability Association) по разработке программного обеспечения.

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

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

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

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

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

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

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

    //         1234567890123456789012345678901
    #define    average_winter_air_temperature_Monday       awt_m
    static int average_winter_air_temperature_tuesday;

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

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

    //         1234567890123456789012345678901
    #define    average_winter_air_temp_Monday       awt_m
    static int average_winter_air_temp_tuesday;

Данная диагностика классифицируется как:

MISRA-C-2023-5.5