>Все люди склонны ошибаться. И никакое тестирование, а так-же различные методы анализа кода, не уберегут достаточно большой и сложный проект от ошибок. К сожалению, пока не изобрели ИИ, ошибки подобного рода будут всегда и в любом сложном ПО. Хотите большей надёжности - придётся жертвовать производительность.Если ставить практическую задачу научиться строить безопасные системы на Си, то приходишь к ряду простых решении. Можно, к примеру, взять себе за правило написания функции или макросов доступа к данным переменных (или указателей структуры) с корректной проверкой границ доступа сразу после объявления структуры (то есть где-то после этапа проектирования но до начала реализации прикладной логики). Это не проблема того что люди склонны ошибаться, это личные проблемы хреновой организации процессов отдельного человека. Чтобы выработать подобные навыки - надо заниматься этими вопросами на деле, а не скрываться за созданием мусорного кода на всяких питонах и жабе.
|