Не понятно, что такое «хороший код». Просто красивый, понятный код часто работает медленно и не учитывает кучи нюансов, оптимизированный, годный для промышленной эксплуатации, он выглядит отвратительно, и через месяц в нём не разберёшься уже, зато работает.
А вот препод по дискретной математике говорил, что если в коде ошибка, то надо удалить строчку, в которой ошибка. И если так повторять, ошибок в программе в итоге не останется!
Блок схемы не нужны. Про это ещё было сказано в 1975 году:
Much more often, strategic breakthrough will come from redoing the representation of the data or tables. This is where the heart of a program lies. Show me your flowcharts and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won't usually need your flowcharts; they'll be obvious.
А вот препод по дискретной математике говорил, что если в коде ошибка, то надо удалить строчку, в которой ошибка. И если так повторять, ошибок в программе в итоге не останется!
$ gcc -Wall -Wextra -std=c99 -pedantic x.c
x.c:1:1: предупреждение: по умолчанию возвращаемый тип функции - ‘int’
x.c:1:9: предупреждение: ISO C does not allow extra ‘;’ outside of a function