Comments: |
а по другому у нас не учат. И что самое обидное, никому по другому и не нужно. Эато это пишется быстро. Меньше мозгозатрат, меньше человекочасов. Лишний раз подумал - потерял время - упущеная выгода. Думать не выгодно. И нанимать умных не выгодно. Они много думают, тратят время, начитают переиначивать техзадания с поправками на оптимизацию скорости и безопасность. Эти глупости никому не нужны потому что не оправдывают затрачиваемых средств. Высокоинтеллектуальное программирование - это низкомарженальный продукт!
мне сомнительно что это быстрее. помоему это добросоветсное выполнение заклинаний из журнала PHP magazin от великих гуру
From: | q |
Date: | February 27th, 2009 - 03:58 pm |
---|
| | | (Link) |
|
Что-то я не усматриваю, в каком месте тут ООП. Чистый пук в лужу.
а отличный всё-таки сорс ! как эффективно выявляет братьев по "разуму".
From: | q |
Date: | February 28th, 2009 - 10:32 am |
---|
| | | (Link) |
|
Я как-то не понял вашего ответа - вы настаиваете на том, что приведённый код является примером ООП? Прочие качества данного кода я сейчас не рассматриваю.
Вы вообще понимаете, что это значит - ООП? (Если ООП - это, по вашему, "по определению любой кривой и безобразный код, который я хочу обосрать", то так сразу и скажите.)
:-) оценил.
Прочто этот код является частью большой ооп программы написанной фанатичным оопэшником, свято исполняющим все заветы PC-magazine итп.
Пополнить, что ли, Вашу коллекцию "братьев по разуму" своей тушкой :-)
1. Да. 2. Это бы ухудшило юзабельность кода. Не знаю, как в PHP, а (скажем) в Delphi есть IDE, которая после того, как набрал переменную и поставил точку, выдаёт список доступных методов. А никакого простого способа узнать о существовании функции logged_in_user лично я не знаю. Это ж поиск по всем файлам с высокоинтеллектуальной задачей "как бы они могли назвать такое". 3. Ага! Чтобы эту переменную потом где-то забыть изменить... Нафиг, нафиг! Кстати, IMHO, это фишка не ООП, а ФП. 4. То есть не использовать функцию logged_in_user, а добавлять что-то своё? Из-за лишнего SELECT'а, который (при наличии нормальной БД) и на производительность-то толком влиять не должен? (не исключаю, конечно, возможность, что по тем или иным причинам действительно надо написать своё, но мне не кажется, из Вашего поста эти причины очевидны)
(особенно веселит обсуждение непроизводительных расходов в применении к интерпретируемым языкам)
> Не знаю, как в PHP, а (скажем) в Delphi есть IDE, которая ...
Это обстоятельство не имеет никакого отношения к 1) читабельности кода. 2) языкам програмирования (как там в PHP? да всё буквы - ни оджной картинки!) 3) к программированию как методу
> Чтобы эту переменную потом где-то забыть изменить
А функцию вызвать не забываете? Думайте прежде чем такое написать, а то я предложу вам руль от машины оторвать, а то вдруг забудете вовремя повернуть.
> Чтобы эту переменную потом где-то забыть изменить
Кстати это был вэбсайт. Вы представляете контекст выполнения пхп скрипта на сайте? и срок его жизни?
> Из-за лишнего SELECT'а, который (при наличии нормальной БД) и на производительность-то толком влиять не должен?
Вы умножте на количество запросов этой страницы в секнду. Или вы никогда не писали реально нагруженые сайты?
> особенно веселит обсуждение непроизводительных расходов в применении к интерпретируемым языкам
Мы здесь обсуждаем болезни головного мозга, которые вот к таким тормознутым интерпретаторам аккурат и приводят. А какашку в адрес интерпретации вы кинули зря, это вам учителя в институте сказали? - даже если это в 90% случаев верно, никогда не повторяйте заклинаний не подумавши.
Я не писал про читабельность, только про юзабельность. А без IDE моё возражение не так актуально.
Вызов функции эквивалентен чтению переменной, а не её изменению. Чтение переменной тоже не боюсь пропустить. Если это действительно "узкое место", переменная себя оправдает, но почему это плохо "по умолчанию"?
>Вы представляете контекст выполнения пхп скрипта на сайте? Не очень. А что, можно понять, залогинен ли юзер, вообще без запросов к базе?
>Вы умножте на количество запросов этой страницы в секнду. С удовольствием. Сколько у Вас запросов в секунду?
Киданием какашек я вообще не занимаюсь. Но интерпретаторы медленнее бинарников, это, вроде как, правда, даже если это говорят учителя в институте. А любим мы их (интерпретаторы) не только за это :-)
> но почему это плохо "по умолчанию"?
потому что это всего лишь _пример_, показывающий огромную глобальную всепроникающую идею написания говнокода.
> А что, можно понять, залогинен ли юзер, вообще без запросов к базе?
Не в базе дело, а в том что узнавать это надо РОВНО ОДИН РАЗ. А в течение выполнения скрипта это состояние не изменится.
> Сколько у вас запросов в секунду?
На этом сайте сейчас нисколько, но когда пойдёт рекламная акция он не имеет права заклинить. иначе смерть. понимаете?
>Не в базе дело, а в том что узнавать это надо РОВНО ОДИН РАЗ. А в течение выполнения скрипта это состояние не изменится. А вот теперь контекст ясен, можно похохотать по полной!
Дада, вот вам еще одна тушка в коллекцию. Если функция is_logged_in() вызывается в 142 местах программы, а ее заботливые руки пекущегося о оптимизации заменят на ее тело, то по закону подлости через месяц логика работы этой функции обязана будет поменяться. Вот тогда любитель оптимизации будет шарахаться по коду grep'ом, sed'ом и другими милыми сердцу тулзами, в надежде, что не забыл где-нибудь исправить логику. Не важно ООП это или ФП или любое другое П, это называется «абстракция», а так же соблюдение принципа DRY.
прежде чем писать коммент надо а) читать пост б) думать
Во-первых "логика работы" переменной измениться не может. Во-вторых абстракция ради абстракции должна быть редуцирована нах.
То есть вызов logged_in_user() вы какбе не заметили, да? Переменной не может, а вот функции может. Ситуация, когда переменной становится мало — более чем реальная.
я не могу обсуждать эту тему с человеком, который толи не читал мой пост, толи читал его с перфокарт, порядок которых перепутал.
> Эта функция заменяет собой переменную
и я могу даже сказать почему. Потому что никому нахрен не сдалось поддерживать эту переменную в актуальном состоянии.
вы умудряетесь двумя словами вызвать такую кучу возражений, что у меня терпения не хватит перечислить.
вы хоть чуточку думаете о предмете который мы обсуждаем, или только о текстах которыми мы обмениваемся?
> вы хоть чуточку думаете о предмете
нет, и не собираюсь. Мне и без того "думальщиков о предмете" хватает, которые срут в код своими очень особыми случаями, в которых "надо работать быстро-быстро". Потом их "предмет" даже не уходит в релиз, а говно в коде остаётся. Нет уж, пусть по PHP magazine пишут. Целее будем.
PS: справедливости ради, в том же коде есть и лишние абстракции от другого мёртвого проекта. Но, сравнивая говноабстракции с говноконкретикой - абстракция лучше.
- не надо ходить по городу в бронежилете, это тяжело и неудобно - вы сума сошли! я что голый должен красоваться! нет уж я уж как-нибудь в бронежилете перебьюсь.
Думаю, Ваш собеседник просто представить себе не может того изврата, который Вы мне расписали подробно. | |