А ведь "ООП" как раз учат по наследованию, всякие там классы Animal от которых создаются другие животные. Из-за этого многие начинающие программисты во всю используют наследование, им кажется это такая такая замечательная фишка которая помогает не повторять множество кода.
А тут внезапно такая критика. Прям удар в самое сердце, в фундамент концепции "ООП на классах". Мне нравится, отличная статья.
Ну то есть то, что чтобы запустить объект в тестах, вам надо посмотреть (по коду класса), какие зависимости надо ему положить в локатор — это не вызывает у вас отрицательных эмоций?
Вроде бы один из самых сильный аргумент против SL, но в реальности никаких проблем, в начале теста для таких классов инициализируются все сервисы приложения и можно подставлять любой класс не читая его полностью. Т.е. этот аргумент сводиться к вкусовщине, ну и может быть лень только начиная писать тесты мокать сразу все сервисы приложения.
Но если перефразировать, проблема Service Layer что нет единого места где указаны сразу все зависимости класса. А это уже сильный аргумент
Это так странно что кол-во выбросов CO2 внезапно и безусловно стало равно экологичности. Все таки экологичность — это про разрушение биосистем и кол-во опасных отходов
Сначала вы пишите что DJI дроны могут взлетать на 500м метров и тем самым представлять опасность для самолетов при посадке, потом пишите что аппараты больше 3кг могут повредить лопатки ТРД. Может сложится впечатление что коптер DJI может повредить самолет и все в опасности. Но это не так, самый тяжелый любительский DJI коптер весит 1250 грамм.
В этом абзаце вообще много неточностей. Мне кажется это абзац нужно переделать, а то любой неспециалист скажет: А-А-А, вот же исследования подтвердили опасность!!!1 Запретить, запретить!!!11
Основная претензия автора — это многословность PHP как языка программирования. Но тут ничего не поделаешь — так язык задуман изначально. И добавление разных способов объявления функций это будет ужасно, нет ничего хуже чем смещение стилей и парадигм
Для того чтобы указать браузеру что нет нужны каждый раз проверять ресурс и получать 304 ответ достаточно указать expires в будущем и большой max-age в cache-control, например:
expires: Mon, 12 Oct 2037 00:00:00 GMT
cache-control: public, max-age=315360000
Поправлю: не функциональный, а процедурный подход
А ведь "ООП" как раз учат по наследованию, всякие там классы Animal от которых создаются другие животные. Из-за этого многие начинающие программисты во всю используют наследование, им кажется это такая такая замечательная фишка которая помогает не повторять множество кода.
А тут внезапно такая критика. Прям удар в самое сердце, в фундамент концепции "ООП на классах". Мне нравится, отличная статья.
+1. Типичный пример когда плохие формулировки заставляют делать ненужные действия.
Примеры автора статьи очень похожи на DI самого локатора
В таком виде непонятно чем SL отличается от DI.
Я бы использовал другой пример
В таком примере проблемы с неявной зависимостью от локатора и отсутствием удобного списка зависимостей класса более очевидны
Вроде бы один из самых сильный аргумент против SL, но в реальности никаких проблем, в начале теста для таких классов инициализируются все сервисы приложения и можно подставлять любой класс не читая его полностью. Т.е. этот аргумент сводиться к вкусовщине, ну и может быть лень только начиная писать тесты мокать сразу все сервисы приложения.
Но если перефразировать, проблема Service Layer что нет единого места где указаны сразу все зависимости класса. А это уже сильный аргумент
"Не раньше трава была заленее", а раньше трава была травой, а сейчас какие-то деревья, и те серо-лиловые
Конкуренция компаний заменится на конкуренцию мейнтейнеров (как в linux)
А запрет на куки без разрешения только помогает крупным компаниями, каждый хоть раз бывал на их сайтах и получал куку в браузер
2. Таким способом невозможно вносить изменения в код виджета
В этом абзаце вообще много неточностей. Мне кажется это абзац нужно переделать, а то любой неспециалист скажет: А-А-А, вот же исследования подтвердили опасность!!!1 Запретить, запретить!!!11
expires: Mon, 12 Oct 2037 00:00:00 GMT
cache-control: public, max-age=315360000
developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching?hl=ru