Где-то за две недели неспешного кодинга сумел превратить кошмарный и запутанный скрипт, служащий мне CMS-кой во вполне изящную программу, которая не вызывает отторжения при взгляде на нее. Я не буду углубляться в технические подробности, но изначально у меня был один здоровенный файл, в котором в одной процедуре выполнялось все. Ну, знаете, такой типичный образец кода, который появляется вместе с мыслью "попозже приведу в порядок, а сейчас главное, чтобы работало".
Безусловно, оно работало, но структурно выглядело настолько убого, что я очень долгое время предпочитал игнорировать имеющуюся проблему и просто запускал скрипт по мере необходимости. Не вижу зла. Однако, как я уже говорил, мне это в итоге надоело. Тем более мне захотелось немножко расширить функционал сайта в целом и блога в частности, а это означало какой-никакой, но рефакторинг.
В итоге весь скрипт был причесан и разбит на функции и модули. Точнее, модуль один, его можно было бы еще раздробить, но я решил, что в данный момент мне уже достаточно хорошо. Тем не менее, простор для улучшений в этом плане еще есть.
Из кода были выкинуты почти все голые константы и заменены на именованные. Более того, те параметры, которые могло потребоваться изменять в целях настройки, были вынесены из кода в конфиг-файл (он общий для всего сайта, для блога в нем сделана отдельная секция). Генерация HTML-кода по возможности была причесана так, чтобы месиво из разметки присутствовало в функциях по минимуму.
Немного было изменено форматирование. В течение очень долгого времени я предпочитал оформлять блоки кода вот так:












