Один большой интернетский проект. Довольно большой проект. Куча пользователей, монетизация, реклама, все дела. Типа, процветание и профит.
Проекту два с чем-то года.
При этом 1,2 гигабайта его кода, мертвых чуть более, чем наполовину, не имеют никакого контроля версий. То есть вообще. Ну, конечно, есть такая вещица, как это... как его. Лежат на FTP файлики index.php, index_new.php, index_2.php, index_4.php, и тому подобные. Когда, кто и зачем их туда положил — неизвестно.
Самый большой PHP-файл содержит 20K+ строк кода; весь код представляет собой мешанину логики вперемежку с выводом HTML. Каждая задача, решаемая кодом, решается минимум тремя разными способами. Добавить какой-либо нюанс можно, только придумав четвертый способ.
Практически каждая функция берет что-либо из глобального пространства имен и меняет по своему усмотрению.
Один из перлов программирования, например, выглядит так (внимание, он типа объектно-ориентированный):
class FormValidator {
// ... много поскипано
function _getValue ($field){
global ${$field}; // <--- Ахтунг!
return ${$field};
}
// ...
}
Код по идее должен возвращать значение указанного поля, название которого он берет в виде строки.
По-моему, индусам еще надо многому учиться.