Хочу отдельно заметить что причину проблем нам не огласили. Думаю туповатые эксперты ее просто не нашли и ловко кинули наживку 11к.
Более того просто уверен , япы стопудово эту ошибку и сами долго искали.
Это наверняка не тупой прграммистский ляп , его двано нашли-бы ,
скорее что-то системное.
Не очень понимаю в чем суть претензий к софту тоеты , точнее к стилю.
11тыс "глобальных переменных" много это или мало?
Во первых в их наличие просто не верю.
Таки наверное речь идет о таблицах что несколько иное.
Каждый кто хоть что-то слышал об системах управления ДВС в курсе что
не существует процессоров которые могли-бы в реалтайме все обрабатывать с достаточной точностью и скоростью не занимая при этом все пространство багажника.
Поэтому везде используются таблицы.Очень много , очень разных и очень взаимосвязанных.
То что они при этом глобальные совсем не удивительно и даже скорее правильно.
Говнокод это или нет?
С точки зрения классическо-теоретического правильного структурного программмирования несоменно да.
С точки зрения эмбедд приложений , точнее даже той части что занимается устройствами управления (и выражаеттся в правилах misra 2004) не совсем.
Хотя выполняется только часть правил , но ГП не имеют к этому отношения.
http://makesystem.net/?p=2028
Поскольку вопрос о системе управления двигателя то руководствоваться нужно соответствующими критериями.
Настоящий говнокод это нарушение правил misra.
Не нашел там никаких ограничений на количество ГП.
Мои любимые пункты 60 , 118 жутко люблю программеров "профессионального уровня" ими потроллить.Особенно "обязательным" п118.
Отдельно хочу подчеркнуть что на месте тойоты , я сделал-бы точно так-же в плане таблиц.
Первые лет 10 своих занятий программирования на "С" я был честным и ярым сторонником локальных переменных , указателей на указатели и прочей хрени.
Следующие 15лет привели к выводу что для небольших систем с 1-2 разработчиками в этом нет никакого смысла , более того это вредно.
Текст загромождается , смысл начинает ускользать частоколом строк.
Было отловлено несколько ошибок именно из-за передачи не того и не туда.
Кроме того обостряется ситуация со стеком что трудноконтролируемо.
Структурирование в смысле разбиения на функции с четко разграниченными пардон функциями разумеется благо.
Если-бы не было 11к ГП привело-бы это к тому что ошибка не появилась?
Сильно сомневаюсь.
А судьи кто?
Нужна ли вообще система misra ?
Я считаю что пользы от нее больше чем вреда , те да нужна.
Хотя здоровья соблюдать все правила не хватает.