2018-12-04 Скрытие Экспериментальных Опций

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

правила_разработки:как_не_надо_делать:2018-12-04_скрытие_экспериментальных_опций [04.12.2018 06:03]
nikolay_carbonsoft1 Approved(admin 2018/12/04 07:18)
правила_разработки:как_не_надо_делать:2018-12-04_скрытие_экспериментальных_опций [20.05.2019 15:18] (текущий)
Строка 1: Строка 1:
 +**Постановка задачи:​ ** Добавить опцию, включающую экспериментальный функционал
 +
 +**Проблема:​ ** Разработчик решил скрыть опцию из интерфейса конфигурации,​ чтобы пользователь не смог активировать ее, что может привести к проблемам
 +
 +**Ошибка:​ ** Нельзя скрывать от пользователей новый функционал продукта,​ даже экспериментального характера. Наличие опции:
 +  * показывает развитие продукта пользователю
 +  * пробуждает интерес к новому функционалу
 +  * часть пользователей может захотеть им воспользоваться,​ а мы получим фидбек и баг-репорты по новой опции
 +  * снижает шанс, что опция "​умрет",​ т.к. ей ни кто не будет пользоваться,​ а разработчики займутся другими,​ более важными задачами
 +
 +**Как нужно: ** Расположить опцию в подменю "​Экспериментальные опции"​ или добавить к опции комментарий:​ "​Внимание! Экспериментальная опция!"​. Также нужно назвать опцию максимально понятно,​ чтобы пользователи смогли понять зачем она нужна и добавить пункт об этой опции в рассылку по продукту.
 +
 +
 +
 +**P.S.** это не относится к разрабатываемому функционалу,​ когда код, реализующий часть функционала,​ вливается в основную ветку продукта для ранней обкатки кода на наличие несовместимостей в РУЧНОМ тестовом режиме деплоя. Часто при этом, активация этого кода либо что-то ломает,​ либо не вносит в продукт ничего полезного. Но мы так не делаем,​ этот подход применяют при других схемах разработки CI&CD.
 +
 +~~OWNERAPPROVE~~
 +/*Не удаляйте эту строку и ниже!*/
 +{(rater>​id=1|name=Прочитал_правила_разработки:​как_не_надо_делать:​2018-12-04_скрытие_экспериментальных_опций|type=vote|trace=user|tracedetails=1)}