Много говнокода я в жизни повидал, да чего уж там, я сам произвожу «плоский код». И ладно, если это скрипты в пределах 100 строк, хотя и там можно сделать красиво, по дзену...
Но всегда поражаюсь ребятам, которые берут уродские by-design языки программирования, типа PHP, и пишут красивые по своей архитектуре приложения, настоящие произведения искусства. Их код приятно читать, код понимаешь на лету, только и успевай бегать в редакторе кода от класса к классу, от функции к функции.
Они знают, что от чего логично отделить, какой код можно вынести в отдельную функцию.
Простой пример. Ты берешь и пишешь плоский говнокод на bash, как есть, просто не зная, что можно сделать вот так красивее:
#!/bin/sh
main() {
}
main "$@"
Ведь это сразу всё преображает.
Просто на то, чтобы превратить код в конфетку, может уйти больше времени чем на написание самого рабочего кода, как говорится, нет предела совершенству... Но похоже некоторые люди умудряются сразу писать аккуратно. Не знаю как, нужно наверно обладать какими-то художественными талантами, а не только в ЯП уметь.
В плоском коде, чтобы было красиво, ты пытаешься задавать имена переменным одинаковой длины, придержавясь некой стилистики, расставляя пустые строки между блоками if { } для пущей красоты и понятности...
А они весь код они обертывают в неймспейсы, классы, функции... что даже уродские имена функций самого ЯП, разные длина переменных не делает их код хуже, а еще больше придает шарма, дескать, ребятам вообще пофиг на каком ЯП писать — у них всегда будет такой красивый код.
Ну вот как научиться заранее продумывать всю архитектуру приложения и примерно знать, что куда писать?
Даже зная ЯП как свои пять пальцев, всякие секретные финты ушами о которых не пишут в учебниках, — продолжаешь писать говнокод.
Чувствую себя быдлом, что не могу в красивый созидательный код.