ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
22 декабря
1468136 Топик полностью
Nikolay_Po (07.10.2024 00:58, просмотров: 114) ответил symbions на И что делаете если проверка показала, что NULL? В моих приборах было пофиг - проверил на NULL или не проверил и стал писать в NULL - в обоих случаях прибор не рабочий. Но то у меня, а что делаете Вы в своём приборе?
Return делаю. Или вызываю аварийный код, который перезапустит сбойный модуль. 

Всего не предусмотришь. Всех сценариев эксплуатации. Поэтому стремлюсь делать функции так, чтобы, по крайней мере, каждая функция в отдельности, при дефекте входных данных, не приводила к вылету указателя или hard fault'у.

И практика показывает, что в не предусмотренной ситуации, код не "падает", а пытается работать в текущих условиях. При этом дефекты в работе оказываются логичными и понятными, ограниченными лишь фактическим сбоем.

Далее, в ключевых местах обработки данных, данные помечаются флагами - недостоверны, так как фиксировались сбои. Но работа продолжается.

Так облегчается поиск даже непредусмотренных неисправностей и сохраняется выполнение не затронутых сбоем функций системы.