vanessa-opensource / add

Разработка с управляемым качеством на 1С
Mozilla Public License 2.0
330 stars 183 forks source link

Выделить циклы и слова если - в отдельную включаемую функциональность, выключенную по умолчанию #564

Open ghost opened 5 years ago

ghost commented 5 years ago

Существует проблема

Мы не можем съездить в Лондон - потому как вместо Gherkin кто-то реализовал какой-то свой DSL

Хотелось бы иметь следующую функциональность

Переход разделить на 2 этапа

Дополнительный контекст

В феврале нас пригласили в Лондон на конференцию, нужно переходить на правильные рельсы.

также смотри #281

kuntashov commented 5 years ago

Имхо нужно сделать два плагина-бэкенда:

И тогда будут и овцы сыты и волки целы ;-) Тем более там как раз код с высокой связностью: вроде как парсинг геркина выделен в отдельный плагин-обработку, но с другой стороны он фактически не отделим и давно напрашивается рефакторинг, мы с @artbear уже этот вопрос затрагивали, когда обсуждали возможность впилить multiline-строки. В итоге строки Артур сделал, но без глобального рефакторинга.

Т.е. высокоуровневый план рефакторинга такой:

("Как нарисовать сову?" https://a.d-cd.net/87d8fb2s-960.jpg)

:heavy_check_mark: Profit!

Если просто тупо выкинуть текущую реализацию со всеми ее циклами и условными конструкциями, то это отвернет 99,9% всех пользователей, это убийство продукта.

ghost commented 5 years ago

@kuntashov чуть расширил - чтобы не звучала так страшно.

ghost commented 5 years ago

@kuntashov рефакторинг штатного парсера выделен в отдельный ишуз. Там еще и ускорение в 10 раз предстоит сделать ;-)

atai commented 4 years ago

Вот "прекрасно" все в этом ишью - и мотивация, и решение. Вы хотите ADD закопать?

ghost commented 4 years ago

@atai я не понял вас ? вы хотите оставить Циклы и Условия ? почему вы решили это правильно ?

atai commented 4 years ago

@atai я не понял вас ? вы хотите оставить Циклы и Условия ? почему вы решили это правильно ?

Хочу да. Трудоемкость написания тестов нужно снижать. При этом аргументация "тесты должны быть простыми" мне кажется ошибочной - тесты поведения должны быть на столько сложными, на сколько сложно поведение программы. Кроме того, аргументация в духе "мы тут едем в Лондон поэтому отломаем вам функцию которой вы пользуетесь"... ну как бы оскорбительно для пользователей. Мое мнение. Вынести циклы и условия в опцию - хорошо. Но опция должна быть по умолчанию включена. Вы и в Лондоне все покажете как хотите и не отломаете ничего пользователям ADD.

ghost commented 4 years ago

@atai я вас услышал и понял. Вы меня тоже поймите - у меня нет обоснования методического необходимости условий и циклов. Обоснование - нам удобно я знаю. Я даже знаю почему.

Я закинул удочку методологам по Cucumber в части условий и циклов - их позиция известна. Циклы - это структура сценария. Условия и перебор - это step_defitions.

Это противоречие которое необходимо разрешить в будущем.

ghost commented 4 years ago

@artbear проверять можно через Sonar Gherkin

forsaled commented 4 years ago

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

Если да. то у меня вопрос - есть например, тысяча контрагентов. которых мне нужно создать а потом выполнить для каждого из них двадцать действий в разных формах. Я правильно понимаю, мне нужно написать 20 тысяч строк? Или же это можно как-то третьим способом сделать?

pumbaEO commented 4 years ago

Сделай реализацию шага и в коде напиши для сч по 10000 цикл Ванесса.шаг("