Pull to refresh

Comments 27

Всегда поражало, (как function() {}()) называют целым паттерном, да еще и "модулем", хотя никакой модульностью там, как правило, не пахло. Непонятно, зачем вообще в 2018 рассказывать про это, тем более что автор знает про ES6.
Про синглтон стоило бы упомянуть что это спорный паттерн, и немного разъяснить, почему это так и какие есть лучшие альтернативы.


...


Непонятно, зачем я каждый раз кликаю на статьи в блоге ru_vds, хотя заранее знаю, что там.

Автор и не называет самовызывающиеся функции целым паттерном, это лишь один из способов реализовать паттерн «модуль» в JS.

«зачем вообще в 2018 рассказывать про это, тем более что автор знает про ES6»

У вас «в 2018» браузеры уже полностью поддерживают export и import?

У меня в 2018 import/export поддерживает бандлер, потому что по ряду причин всё равно надо упаковывать статику в один файл. А если полагаться на http 2, так соответсвующие браузеры поддерживают и то, и другое.
А вот как в 2018 IIFE помогает разруливать зависимости?

А вы посмотрите что выдают на выходе "бандлеры" и вопросов не останется по IIFE.

У вас «в 2018» браузеры уже полностью поддерживают export и import?

У нас — да. А у вас еще нет? Поддержка IE в 2018-м — штука весьма опциональная.

У меня еще не было случая в практике, когда кто-либо продолжал бы настаивать на поддержке некрофилии после изложения всех "за" и "против" в доступной форме. Я бы очень поспорил с вашим "чаще всего".

Например, в том же интерпрайзе это будет чуть более, чем всегда. Любой крупный публичный портал будет поддерживать по крайней мере IE11 в 2к18.

Не любой. В энтерпрайзе есть аналитики, которые смотрят на статистику и решения принимаются исходя из характеристик аудитории. Во многих случаях, трафик IE11 находится на уровне погрешности. Да и не очень важно это, по большому счету, поскольку для продакшен сборки бандлеры таки используются.

Аналитики интерпрайза вам скажут, что можно отказаться от поддержки IE8-9, а 11 все еще имеет хороший кусок, ибо Windows 7 все еще очень популярна.
Ваши слова уже не так категоричны.

Ок, ок, у меня тут какие-то другие аналитики, не такие как у вас.

У приложений могут быть разные задачи и различная целевая аудитория, например.
IE 11 второй по популярности десктопный браузер в США
У нас в скромном азиатском стартапе доля IE была от силы 1,5% на главной. Настаивали на его поддержке ровно до вопроса о количестве запросов в IE в чекаут, и внезапно оказалось что там просто единицы заказов.

Но разве транспайлер и понифилы не решают проблему поддержки ES6/7 браузерами? О чем вы вообще?

А у нас в суровом американском энерпрайзе у некоторых клиентов до 100% доходит.


Увы не всё можно за полифилить.

Плюсовик рассказывает фронтендерам о поддержке IE? Я думаю что вы обобщаете какой-то частный случай. Я обычно видел такой паттерн поддержки IE: «Он вроде должен работать, но проверять не буду. Eсли QA заведет баг — посмотрю». Но QA обычно тоже смотрят или одним глазом или никак — и это тоже не с проста.
Плюсовик рассказывает фронтендерам о поддержке IE? Я думаю что вы обобщаете какой-то частный случай.

Сфера моих интересов плюсами не ограничивается. Сейчас работаю в интерпрайзе и общаюсь с достаточным количеством людей, чтобы утверждать о распространенности поддержки IE в различных проектах других компаний.

«Он вроде должен работать, но проверять не буду. Eсли QA заведет баг — посмотрю».

Это личное раздолбайство программиста. У приложения либо есть такое техническое требование, либо его нет.
Я не верю в «личное раздолбайство программиста». Важные вещи всегда имеют процессы, которые гарантируют определенное качество. От customer support, до стендов тестирования и фиксированных приемочных требований. Если этих процессов нет — скорее всего это не просто так.

Я не берусь делать выводы за весь IT рынок, но в проектах где я работал, в основном всем было наплевать на IE, и максимум, обсуждалась идея выдавать пользователям IE мобильный сайт. Конверсия и другие показатели важные для аналитиков всегда были очень маленькими, для того чтобы хоть как-то весомо пропушить поддержку среди кучи горящих фич и квартальных планов.
Если QA заводит баг и это требование появилось в ТЗ до начала выполнения фичи, то это косяк программиста. Если косяк допущен сознательно («проверять не буду», потому что бизнес-аналитики дураки, плохо знают рынок и неправильно рисуют ТЗ), то это и есть непрофессионализм, потому что кое-кто «залезает» в чужую зону ответственности.
Вы подменяете понятия. Я не говорил, что кто-то другой дурак, аналитики плохо знают рынок, и тд. Я говорил о том, что если поддержка IE действительно важна, она является частью процесса, который так любят большие компании, но мой опыт работы в этих компаниях говорит о том, что максимум это записано в какой-то далекой странице в конфлюенсе, которую не пересматривали пару лет, и никому включая аналитиков не хочется этим заниматься.

По поводу же влияния у нас с вами разные точки зрения, и я думаю, что смысла об этом спорить нет, просто оставлю ниже цитату Стругацких:

«Я бы хоть сейчас произвел этого молодчика в действительные рядовые… Массаракш, я бы произвел его в офицеры! У него бригадирские замашки, он обожает задавать вопросы офицерам…»
Вы подменяете понятия. Я не говорил, что кто-то другой дурак, аналитики плохо знают рынок, и тд

Сути дела не меняет: документ есть, а на него никто не смотрит. Это плохо.

По поводу же влияния у нас с вами разные точки зрения, и я думаю, что смысла об этом спорить нет

Я и не призывал вас к спору. Изначально моим посылом было то, что обобщать не стоит.
В es2016 реализация декораторов через @ уже (Exploring EcmaScript Decorators).
Да и модули с введением import и export устарели.

Зачем одни и те-же устаревшие примеры из статьи в статью копировать?
А потом ими люди пользуются по незнанию(
UFO just landed and posted this here

Большинство паттернов проектирования нужны для сурового ООП и отсутствия функций как объектов первого класса. Кажется, что любая статья про паттерны проектирования в JS должна начинаться с предупреждения о том, что эти паттерны в JS могут быть и не нужны. Особенно в условиях популяризации функциональной парадигмы.

«Я джва года ждал эту статью!» (с)

Коротко и ясно.
Раньше пытался гуглить статьи о паттернах, но постоянно натыкался на лютую дичь, которую и читать то не хотелось после первого абзаца.
UFO just landed and posted this here
Sign up to leave a comment.