Говнокод от WA или почему Вы не идете на встречу разработчикам?

1. Несколько слов о говнокоде:
Если Вы создаете платформу с расчетом на её дальнейшее расширение сторонними разработчиками, то подобный код (wa-apps\site\js\site.js):
$("#s-helper-link").click(function () { if ($("#s-helper").is(":visible")) { $("#s-helper").hide(); return false; } $("#s-helper").load('?module=helper', $.wa.site.helper, function () { $(this).show(); var f = function (e) { if ($(e.target).attr('id') == 's-helper' || $(e.target).parents('#s-helper').length) { $(document).one('click', f); } else { $("#s-helper").hide(); } }; $(document).one('click', f); }); return false; });
просто не допустим. Никаких "return false;" быть не должно, вместо "$(...).click(...)" нужно использовать "$(document).on('click', '...', function(){})". Ну и не могу не упомянуть практически полное отсутствие триггеров.
Про дублирование php кода, кучу неиспользуемых методов и отсутствие во множестве ключевых мест хуков я просто молчу.
2. Взаимодействие со сторонними разработчиками:
На данный момент практически отсутствует т.е. на деле есть заявление об "опенсорсности" проекта, а на деле же полный игнор PR с github либо присвоение этих решений себе т.е. сторонний PR игнорируется, а сотрудник WA копирует его содержимое в своем.
Ну игнорирование сообщений об ошибках через форум - https://support.webasyst.ru/23697/oshibka-v-shparg..., яркий пример - "це не баг, це фича"...
Хотелось бы услышать мнение WA, почему Вы так не любите сторонних разработчиков если у Вас самих времени на все банально не хватает?
Без особой надежды подпишусь под вторым пунктом. Жду и надеюсь, что примут некоторые PR, уже больше года.
Ссылку на годный PR плз
На.
Но ведь и багфиксы есть, и исправления опечаток, хуков уже с десяток новых набралось. Вот products_collection.filter, например, я уже трижды успел переставить в разные места... Но такой же по сути хук был принят без особых вопросов.
И, допустим, все идеи - говно. Но от WA нет обратной связи вообще. Ни позитивной, ни негативной. Как и смысла предлагать менять что-то в фреймворке.
Касаемо кастомных ивентов. Идея была бы хорошая, если бы была предложена в первые дни релиза SS5, либо еще раньше. А пока можно рассматривать её лишь для framework 2.0. Если сейчас это сделать, то проблем будет больше, чем пользы. Главное - это обратная совместимость. Можно описать кучу потенциальных проблем, но мне лень. Сам подумай и представь. И это вроде так очевидно, что не требует ответа. Остальное не совсем понял. Либо что-то "личное", либо "И сейчас это возможно, но аж в 3 строчки кода, а не в 1".
Выглядит так, будто в вопросе обратной связи я на стороне разработчиков. Но нет, я ЗА диалог с ними :) Просто аргументы посредственные. Если бы была тема с жалобой на то, что в висивиге хаба не работает выделение жирным, а разработчики игнорили бы, то да. Это было бы достойно бунта.
Мне кажется, это прям официальная политика WA в отношении PR.
Эти 20 строчек кода никого не принуждают их использовать. Для остальных есть 'app.installer' => 'latest', в requirements.php
Херня. Класс waNet, к примеру, был добавлен и без обновления мажорной версии фреймворка. Хочешь - пользуйся, не хочешь - с curl'ом работай.
Про редактор плохой пример. С ним есть проблемы, и есть темы на форуме.
Если ты не можешь аргументировать свою точку зрения, то нам с тобой говорить не о чем. Я лично не вижу никаких проблем для обратной совместимости не вижу.
Вот делаю я темку для продажи. Читаю инструкцию к новому плагину "Купить в 1 клик". Хочу встроенную поддержку и стилизацию сделать. Там написано про {$wa->event()}. Но у ощутимой части клиентов вместо плагина лишь "Call to undefined method". Переделываю на рабочий вариант, который не вызывает проблем. То есть через привычный статичный метод. Чем и как решилась проблема со срабатыванием выключенных через инсталлер плагинов? Никак не решилась. А зачем тогда нужно решение, которое решает проблему лишь наполовину?
К вопросу изначально нужно подходить с другой стороны. Убирать из автозагрузки выключенные плагины. Вот это решит проблему. А кастомные инвенты - костыль. Он поможет только там, где юзеры сами(это ключевое слово выделено жирным и подчеркнуто) добавили вызов плагина. Но если хватило мозгов на это, то хватит и на удаление.
@Евгений Леман я так и не увидел ни одного описания потенциальных проблем, вообще какой-то бред несешь - если не понимаешь о чем речь, лучше не лезь. Прежде всего речь о взаимодествии с backend'ом приложений wa и добавлении триггеров и хуков в код wa, а не о каких-то "кастомных инвентах" и сторонних плагинах.
- Что хорошего было предложено?
- Вот список, среди которых кастомные ивенты
- Касаемо кастомных ивентов. Есть потенциальные проблемы
- Назовите, вы балабол
- Call to undefined method
- Так и не увидел ни одной проблемы. Вы бред несете. О каких кастомных ивентах речь?
И вы после этого удивляетесь тому, что с вами не хотят вести диалог?
Во-первых, твои доводы "против" лишены смысла. Пока WA не принимает в нашей дискуссии участия, это как обсуждать что будет, если чиновники воровать перестанут.
Во-вторых, следуя этой же логике не надо было добавлять {$wa->shop->features(..)} и {$wa->shop->skus(..)} и т.п.? Если у тем нельзя указать минимальные версии приложений, на которые они ставятся, то это проблема другого рода. А вопрос использовать фичу или нет - дело каждого разработчика. Для плагинов описанной тобой проблемы вообще нет (без требуемой версии фреймворка плагин не станет). А если бы {$wa->event()} появилось год назад, то на сегодняшний день уже можно было бы думать о внедрении в темы.
Но, действительно, скатились в разбор полётов конкретного PR. Считаешь фигня - пиши в комментах. Отклонят - будет хоть какой-то толк.
Речь прежде всего о том, что комьюнити разработчиков игнорируется.