Цитата zamabuvaraeu (

)
Вместо единичек, двоек и троек лучше бы ввести именованные константы INITSTAGE_MEMORY, INITSTAGE_WINDOW или INITSTAGE_FILE, чтобы понятно было из текста какой сейчас шаг инициализации (а не циферки запоминать).
Именованные константы имеет смысл заводить если они будут использоваться где-то ещё.
А так по сути разницы нет, что ты напишешь коммент на 1 строчку, что заведёшь ENUM на ту же 1 строчку.
Про FOR думал, чтобы размотать портянку деинита обратно - наверное можно, на вид более структурно,
не нужно анализировать логику, но и гибкости меньше, т.е. оно идёт в одну сторону, пропуск шагов возможен
через EXIT SELECT, тут скорее вопрос нужно ли крутить инит до конца и так же деинит от конца, если
нужно - то FOR самый разумный вариант.