Выполнение декларации прототипа для всех функций, определенных в файле C, считается хорошим программированием. Он также удовлетворяет требованиям MISRA. Но я видел, как разработчики игнорировали объявления прототипов для функций, которые определены до его использования. В таких случаях кажется, что объявление прототипа не является необходимым.Избегайте объявления прототипа для частной функции (определенного перед ее использованием) нарушения MISRA?
Возможно, кто-нибудь скажет мне, является ли это нарушением MISRA?
Как уже было сказано, да, это нарушение. Однако само правило сформулировано слишком широко: хотя для статических функций, которые определены до их использования, все проблемы, упомянутые MISRA в качестве оправдания для правила, не применяются. Я упоминаю об этом, поскольку в этом конкретном случае я не считаю создание прототипа хорошей практикой программирования, но ненужное бремя обслуживания. Лучшая формулировка для правила будет идти в том направлении, что везде, где вызывается функция, должно быть замечено хотя бы объявление прототипа или определение этой функции. –