Про ООП (номер хз какой) |
[Feb. 27th, 2009|04:12 pm] |
То ли я был слишком лаконичен, то ли у плохих програмистов оказалось так много братьев по разуму... пост про
function is_logged_in() { return (FALSE !== logged_in_user()) ? TRUE : FALSE; }
вызвал несколько остро жгучих комментариев (рекомендую почитать), после которых уже нельзя не разжевать смысл поста публично.
Итак разжёвываю:
Тернарный оператор с константами в правом боку это уже прелесть выдающаяся, но даже её заметили не все.
Функция из одного оператора, который проверяет одно значение на ложность это прелесть вторая, и ещё меньше людей заметили, что отсутсвие этой функции не ухучшило бы кода. Эта функция просто низачем не нужна.
Прелесть третья осталась незамеченной большинством граждан: Эта функция заменяет собой переменную! Вот ООПэшный выебон - функция вместо переменной.
И совсем никто не заметил Главного Зла, Зла из-за которого "тормозят компутеры". Эта функция вызывает другую logged_in_user(), которая по всей видимости возвращает какуюту инфу о юзере, а потом вся эта инфа выбрасывается в небытие, кроме одного бита. Вот оно что! Мы сначала извлекаем из памяти инфу, а потом её выбрасываем Вот чем заняты 90% времени современные компутеры в руках умелых ООПэшников. И даже не важно что эта конкретная функция вызывала целый SELECT к БД, важна сама идея: извлечь и выбросить - вот соль всего ООП! |
|
|