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

info@ravencode.ru

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, почему Вы так не любите сторонних разработчиков если у Вас самих времени на все банально не хватает?

18 декабря 2017
  • Eugen Nichikov 19 декабря 2017 00:07

    Без особой надежды подпишусь под вторым пунктом. Жду и надеюсь, что примут некоторые PR, уже больше года.

  • Евгений Леман 19 декабря 2017 00:55
    Без особой надежды подпишусь под вторым пунктом. Жду и надеюсь, что примут некоторые PR, уже больше года.

    Ссылку на годный PR плз

  • Eugen Nichikov 19 декабря 2017 01:30

    На.

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

    И, допустим, все идеи - говно. Но от WA нет обратной связи вообще. Ни позитивной, ни негативной. Как и смысла предлагать менять что-то в фреймворке.

  • Евгений Леман 19 декабря 2017 13:44

    Касаемо кастомных ивентов. Идея была бы хорошая, если бы была предложена в первые дни релиза SS5, либо еще раньше. А пока можно рассматривать её лишь для framework 2.0. Если сейчас это сделать, то проблем будет больше, чем пользы. Главное - это обратная совместимость. Можно описать кучу потенциальных проблем, но мне лень. Сам подумай и представь. И это вроде так очевидно, что не требует ответа. Остальное не совсем понял. Либо что-то "личное", либо "И сейчас это возможно, но аж в 3 строчки кода, а не в 1".

    Выглядит так, будто в вопросе обратной связи я на стороне разработчиков. Но нет, я ЗА диалог с ними :) Просто аргументы посредственные. Если бы была тема с жалобой на то, что в висивиге хаба не работает выделение жирным, а разработчики игнорили бы, то да. Это было бы достойно бунта.

  • Eugen Nichikov 19 декабря 2017 14:01


    Можно описать кучу потенциальных проблем, но мне лень. Сам подумай и представь.

    Мне кажется, это прям официальная политика WA в отношении PR.


    Эти 20 строчек кода никого не принуждают их использовать. Для остальных есть 'app.installer' => 'latest', в requirements.php


    лишь для framework 2.0.

    Херня. Класс waNet, к примеру, был добавлен и без обновления мажорной версии фреймворка. Хочешь - пользуйся, не хочешь - с curl'ом работай.


    Про редактор плохой пример. С ним есть проблемы, и есть темы на форуме.

  • info@ravencode.ru 19 декабря 2017 14:32
    Можно описать кучу потенциальных проблем, но мне лень.

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

  • Евгений Леман 19 декабря 2017 17:21

    Вот делаю я темку для продажи. Читаю инструкцию к новому плагину "Купить в 1 клик". Хочу встроенную поддержку и стилизацию сделать. Там написано про {$wa->event()}. Но у ощутимой части клиентов вместо плагина лишь "Call to undefined method". Переделываю на рабочий вариант, который не вызывает проблем. То есть через привычный статичный метод. Чем и как решилась проблема со срабатыванием выключенных через инсталлер плагинов? Никак не решилась. А зачем тогда нужно решение, которое решает проблему лишь наполовину?

    К вопросу изначально нужно подходить с другой стороны. Убирать из автозагрузки выключенные плагины. Вот это решит проблему. А кастомные инвенты - костыль. Он поможет только там, где юзеры сами(это ключевое слово выделено жирным и подчеркнуто) добавили вызов плагина. Но если хватило мозгов на это, то хватит и на удаление.

  • info@ravencode.ru 19 декабря 2017 17:35

    @Евгений Леман я так и не увидел ни одного описания потенциальных проблем, вообще какой-то бред несешь - если не понимаешь о чем речь, лучше не лезь. Прежде всего речь о взаимодествии с backend'ом приложений wa и добавлении триггеров и хуков в код wa, а не о каких-то "кастомных инвентах" и сторонних плагинах.

  • Евгений Леман 19 декабря 2017 18:04

    - Что хорошего было предложено?
    - Вот список, среди которых кастомные ивенты
    - Касаемо кастомных ивентов. Есть потенциальные проблемы
    - Назовите, вы балабол
    - Call to undefined method
    - Так и не увидел ни одной проблемы. Вы бред несете. О каких кастомных ивентах речь?

    И вы после этого удивляетесь тому, что с вами не хотят вести диалог?

  • Eugen Nichikov 19 декабря 2017 18:08
    Вот делаю я темку для продажи. Читаю инструкцию к новому плагину "Купить в 1 клик". Хочу встроенную поддержку и стилизацию сделать. Там написано про {$wa->event()}.

    Во-первых, твои доводы "против" лишены смысла. Пока WA не принимает в нашей дискуссии участия, это как обсуждать что будет, если чиновники воровать перестанут.

    Во-вторых, следуя этой же логике не надо было добавлять {$wa->shop->features(..)} и {$wa->shop->skus(..)} и т.п.? Если у тем нельзя указать минимальные версии приложений, на которые они ставятся, то это проблема другого рода. А вопрос использовать фичу или нет - дело каждого разработчика. Для плагинов описанной тобой проблемы вообще нет (без требуемой версии фреймворка плагин не станет). А если бы {$wa->event()} появилось год назад, то на сегодняшний день уже можно было бы думать о внедрении в темы.

    Но, действительно, скатились в разбор полётов конкретного PR. Считаешь фигня - пиши в комментах. Отклонят - будет хоть какой-то толк.


    Прежде всего речь о взаимодествии с backend'ом приложений

    Речь прежде всего о том, что комьюнити разработчиков игнорируется.



Чтобы добавить комментарий, зарегистрируйтесь или войдите