Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Чтобы немного развеять "академическую" атмосферу на сайте, мы решили провести конкурс в стиле Code Golf (написать программное решение задачи, использовав минимальное количество символов)
Задание: написать программу для игры «в города».
На вход подается массив вида
[Калининград, Вологда, Алматы, Дмитров, Архангельск, Тобольск, Краков]
На выходе.
[Архангельск, Краков, Вологда, Алматы , Тобольск, Калининград, Дмитров]
ну говно сразу старался не делать - хотя уверен, кто-то посмотрит большими глазами и скажет: зачем так делал, ну и говно!
просто он еще в этапе тестирования на маленьких проектах, и не все желаемые фишки есть.
После чего еще бы хотелось пересмотреть где я перемудрил и нельзя ли оптимизировать еще и ускорить
Если полет на парочке серьезных проектов будет нормальным - кину
Потому что под PHP не существует неговеного фреймворка. Сам PHP говно, и все фреймворки под него говно (ибо архитектура языка не подразумевает создания НЕ говна) -- потому каждый пробует написать свое. Но все равно в каждом фреймворке прямо в ядре в однмо файле зашиты куски HTML и SQL. Это карма
нет, у меня нет в самом фреймворке ни хтмл, ни скул. Зато есть куча классов, максимально независимых друг от друга. А вообще, скажу по опыту, на пехепе оч тяжело писать что-то неговнистое - все же в самом начале подразумевалось, что на нем будут обезьянки класть кучи говна и это должно быть хорошо
Количество слов "говно" наводит на мысль, что автор поста хорошо разбирается в говне ( "знаток говна" (с) ), и объясняет что это такое через пример PHP
^_^
потому что захлебнулся в говне остальных фреймворков. Свой мне дал возможность отдышаться в пхп-говне.
И я не пхп-программист, я ява-программист. Волею судеб (дорого обходятся ява-сервера, как оказалось) приходится клепать на ентом пехепе, скорей бы он сдох
Поэтому я сделал свою боль в голове и заднице меньше
жабокодер удивлен что жаба жрет ресурсы в три горла? наверное привык что на серваках по 8гб рам и восьмиядерники
"волею судеб" бедненького говнокодера заставляют говнякать на пхп вот жалость то! сам то он не может решения принимать на дяденек работать приходитса
взял было для фриланса жабный тапестри5, так котенок с 128Мб рам за дох с OutOfMemoryException: PermGen space стабильно каждые 24 часа (или около того)
выделить 500Мб (опытным путем оказалось что этого хватает выше крыше, сам фреймворк сразу жрал и останавливался в аппетитах где-то на 300Мб) админы сказали платить больше, клиент не согласился
пришлось вспоминать детские опыты с пхп, на скорую руку переконвертил и наконец уснул спокойно
Охохо, есть идея насчёт новой спецолимпиады в духе CodeGolf: PHP-фреймворк с минимальным числом символов. Главное задать требования к функциональности - чёткие, чтобы не путаться, и по возможности более простые, чтобы написание заняло относительно немного времени. Хотя всё равно задачка тяжеловесная.
фреймворк задача нетривиальная и "с минимальным числом символов" применять это тупость для практики. уж лучше другие требования:
1. удобный и понятный
2. простой, и расширяемый
3. быстрый
По ходу, нет - в PHP, по крайней мере. Здесь очень сложно выбрать между производительностью и качеством кода. Любая быдлогостевуха, где mysql_query() и хардкодный HTML смешаны в равномерный коктейль, в разы сделает по скорости ту же гостевуху, но написанную по-пацански в строгом ООП с MVC-разделением, абстракцией от БД и мультиязычностью. Зато "пацанская" версия будет расширяема и идеологически верна, что при дальнейшем её развитии (если оно, конечно, планируется) даст огромный плюс. К великому сожалению, в PHP узкие места производительности приходятся на самые вкусные и желанные вещи. В других языках это тоже верно, но, имхо, в меньшей степени.
У меня примерно те же фантазии - система, которая сама себя профилирует и сама создаёт для каждой ветки карты сайта кэш-файл, содержащий только реально востребованный при отработке данной ветки код. Теоретически можно попробовать наваять. Практически... хе-хе, некогда.
На чем писать дело второе, первым и самым какбы важным делом является алгоритм, схема по которой всё приложение должно работать, а на пхп, с++ или джаве это закодируют не столь важно, так что связи не вижу между пхп и говнокодом.
ЗЫ Подавляющее большинство крупных сайов на пхп, и очень красиво написаны.
вообще если посмотреть, все проекты подобного рода сперва писались тройкой заблёванных волосатых студентов на недоязычке для школоты. не зная, что всё будет так популярно. потом проект расширялся, а полюбившийся язычок и непродуманная негибкая архитектура не позволяли перейти на что-то лучшее.
заметь, если проект изначально открывается расчитанным на миллионы, никто его не пишет на пхп.
вконтакте вообще верх быдлокодерства, там наверное если перейти на аспнет можно было бы сэкономить на нехуёвом количестве серверов.
Ребята, не поднимайте бульки.
Говнокод не только в репортинге.
Говнокод в туевом количестве циклов,
Говнокод в том, что циклы заточены под конкретное число городов (хотя их может быть сколько угодно)
Говнокод в том, как происходит проверка на правильность
Говнокод в том, что есть решения этого задания на ПХП, занимающие меньше 100 символов.
Надеюсь, меня поняли.
Увы, это не очевидно, как и то, что скрипт использует short open tags, которые с самого начала считались дурным тоном и в итоге были исключены из 6-го php.
Про error_reporting(0): "в новой версии мы избавились от назойливых php-варнингов". View source показал, как именно избавились 🙂
http://stackoverflow.com/questions/tagged/code-golf
:3
пруф - PHP (915)
просто он еще в этапе тестирования на маленьких проектах, и не все желаемые фишки есть.
После чего еще бы хотелось пересмотреть где я перемудрил и нельзя ли оптимизировать еще и ускорить
Если полет на парочке серьезных проектов будет нормальным - кину
не плоди сущности
Говноворки растут, как грыбы после дождя.
^_^
И я не пхп-программист, я ява-программист. Волею судеб (дорого обходятся ява-сервера, как оказалось) приходится клепать на ентом пехепе, скорей бы он сдох
Поэтому я сделал свою боль в голове и заднице меньше
жабокодер удивлен что жаба жрет ресурсы в три горла? наверное привык что на серваках по 8гб рам и восьмиядерники
"волею судеб" бедненького говнокодера заставляют говнякать на пхп вот жалость то! сам то он не может решения принимать на дяденек работать приходитса
выделить 500Мб (опытным путем оказалось что этого хватает выше крыше, сам фреймворк сразу жрал и останавливался в аппетитах где-то на 300Мб) админы сказали платить больше, клиент не согласился
пришлось вспоминать детские опыты с пхп, на скорую руку переконвертил и наконец уснул спокойно
На самом деле лучше уж писать на перле и процедурно (вернее модульно): по крайней мере будет в одном, старосишном стиле.
А PHP это говнокаша. Знаете, как говорил Черномырдин? "Какую партию не строим -- всё КПСС получается".
Так и с PHP -- как ни пиши -- все равно PHPbb/PhpMyADMIN получится.
Нет-нет, да и закрадется где -нить echo "<B>$userName</b>";
перед пехепе и на перле писали, пока вконец не умучались
а че, пхпмайадмин лучшая админилка бд мускула
у меня не закрадется по крайней мере это
вы не любите DRY?
- Что делают программисты собравшись больше двух?
- Пишут свой фреймворк
1. удобный и понятный
2. простой, и расширяемый
3. быстрый
ЗЫ Подавляющее большинство крупных сайов на пхп, и очень красиво написаны.
логика ущербного дауна, ей-богу
заметь, если проект изначально открывается расчитанным на миллионы, никто его не пишет на пхп.
вконтакте вообще верх быдлокодерства, там наверное если перейти на аспнет можно было бы сэкономить на нехуёвом количестве серверов.
Ананимные иксперты в моём /gk/, блеать...
пхп тормоз и подделка
запомни, хуилка: пхп - для дейтингов, хомепаге и онлайн-магазинов, аспнет - для серьёзных скалабле-приложений.
Вот ты и есть наглядное пособие интелектуальной импотенции PHPистов.
причем опять магическая семерка
а зачем он там? без него что бы посыпалось (для данного кода?)
Говнокод не только в репортинге.
Говнокод в туевом количестве циклов,
Говнокод в том, что циклы заточены под конкретное число городов (хотя их может быть сколько угодно)
Говнокод в том, как происходит проверка на правильность
Говнокод в том, что есть решения этого задания на ПХП, занимающие меньше 100 символов.
Надеюсь, меня поняли.
Про error_reporting(0): "в новой версии мы избавились от назойливых php-варнингов". View source показал, как именно избавились 🙂