Так тут же самое главное что. Главное - из-за плохого кода самого себя случайно не стукнуть

На проекте, который был ещё до тебя, всегда лучше спрашивать коллег, если сомнительное место увидел. Можно узнать, чем обосновано такое решение - говнокод он не всегда намеренный и даже не всегда говнокод.
(тут меня совсем понесло) из опытных программистов очень многие знают, что один из главных принципов - KISS. И если ты видешь говнокод, то это не значит, что он назло сделан или от рукожопия. Бывает, что-то страшно захардкожено и заинлайнено, но зато оно лежит одним блоком в одном месте, а не раскидано по десятку классов. Можно легко сделать рефакторинг, если это реально нужно, можно легко это модифицировать.
Пример, максимально близкий к реальной практике:
в разрабатываемом ПО есть менбшка настроек, в которой две кнопки и три поля ввода (допустим, длина, толщина и вес полового члена, а кнопки - применить, отменить). По принятым соглашениям это надо делать через МВЦ - вьюха, контроллер, данные. Сразу минимум три класса + где-то в проекте точка, где всё это создастся и свяжется. Но, блин, конкретно в таких менюшках функциональность очень проста. Захерачеваешь всё в один класс, кода на две страницы вместе с бойлерплейтом, готово. И ни у кого нет претензий, все понимают, что такую побрякульку реально лучше одним классом реализовать. В случае последующего усложнения этой менбшки, например в случае добавления женских гениталий и всяких валидаторов, это очень быстро отрефакторить и раскидать на классы. Следующий человек, который полезет в этот код после тебя, в нём прекрасно разберётся.
По аналогии, бывают случаи, когда можно объявлять глобальные переменные и дефайны, применять синглтоны, хоть это и является плохой практикой в целом.