Вспоминая классику....

===== Программа должна быть лёгкой и гибкой, а подпрограммы соединены, как жемчужины в ожерелье. Программа должна быть наполнена духом и целью. Ничего не должно быть слишком много или слишком мало. Ни лишних циклов, ни ненужных переменных. Ни недостатка структурности, ни излишней жёсткости.

Программа должна следовать "закону наименьшего удивления". Что это за закон? Просто программа должна всегда отвечать пользователю так, чтобы удивлять его наименьшим образом.

Программа любой сложности должна действовать как единое целое. Программа должна руководствоваться собственной логикой более, чем внешними обстоятельствами.

Программа, которая не следует этим правилам, находится в состоянии дисгармонии и хаоса. Единственный способ исправить такую программу, это переписать её.