Как называется такой подход к разработке, тестировани и баг-фиксу? Работал на проекте, где совершенно не было тестов, но и завала по багам так же не было. Вот почему то вспомнилось и приспичило узнать, есть ли название следующему подходу: Весь код заливается через строгий и тщательный код-ревью. На дев сервере тестится только руками, зачастую мелкие баги попадают в продакшн. Баг фикс организован таким образом, что клиент где-то натыкается на ошибку, ошибка сразу репортится в канал Slack и сохраняется в базе, как необработанная. Ошибка анализируется по стеку и переменным окружения, которые прилагаются к записи этой ошибки. Исправляется и заливается хот-фикс. Сама ошибка, фактически - это отловленный Exception, который записывается в базу со всей доступной информацией. Если, например, произошла некоторая абстрактная ошибка, то при фиксе ставится исключение уже с человеческим названием, и если вдруг из за изменения некоторого модуля снова попадаем в ту же исключительную ситуацию - получаем уже абсолютно точное название, по которому понятно, что за ошибка произошла и можно даже вспомнить, где её искать (хотя, к ошибки крепится номер файла и строки, так что можно и не вспоминать). Минусы очевидны - логические ошибки таким образом не выловишь, только по обращению клиента. Ну и, само собой, автотесты предусмотрели бы ошибку заранее. Плюсы - не тратится время на тесты, благодаря чему быстрее пилятся фичи. Всё более стихийно, проект "чаще ошибается", но быстрее развивается и адаптируется под клиента, что очень важно, особенно в условиях жесткой конкуренции. Это просто такой компромиссный способ разработки продукта с баг-фиксом малой кровью, или у такого подхода есть название и он является в некоторой степени вполне рабочей альтернативой? Хотелось бы узнать больше и почитать на эту тему. Нашел и прочитал пару статей о статическом и динамическом анализе кода и сначала подумал, что это о моём вопросе. Но как оказалось, сходство только в том, что в динамическом анализе тоже используется рабочая версия программы, а не тестовая, фиктивная. А может просто поздно, мозг устал и пытается выжать важное из неважного, - просто проект без тестов. Чего я привязался и ищу что-то глубокое? Кто знает...
Данный подход к разработке, при котором отладка и исправление ошибок происходит путем реакции на обратную связь от клиентов, а не через автоматизированные тесты, можно назвать "реактивной разработкой" или "разработкой на основе обратной связи". Этот подход является компромиссом между быстрой разработкой и стабильностью программного продукта, и в некоторых случаях может быть эффективным, особенно в условиях ограниченных сроков или быстро меняющихся требований клиента.
Однако, стоит помнить, что такой подход не исключает необходимости тестирования и предупреждения ошибок заранее, так как постоянное реагирование на возникающие проблемы может быть неэффективным и привести к накоплению технического долга. Идеальным вариантом является использование комплексного подхода, включающего в себя как реактивную, так и проактивную разработку, а также автоматизированные тесты и регулярные код-ревью.
Данный подход к разработке, при котором отладка и исправление ошибок происходит путем реакции на обратную связь от клиентов, а не через автоматизированные тесты, можно назвать "реактивной разработкой" или "разработкой на основе обратной связи". Этот подход является компромиссом между быстрой разработкой и стабильностью программного продукта, и в некоторых случаях может быть эффективным, особенно в условиях ограниченных сроков или быстро меняющихся требований клиента.
Однако, стоит помнить, что такой подход не исключает необходимости тестирования и предупреждения ошибок заранее, так как постоянное реагирование на возникающие проблемы может быть неэффективным и привести к накоплению технического долга. Идеальным вариантом является использование комплексного подхода, включающего в себя как реактивную, так и проактивную разработку, а также автоматизированные тесты и регулярные код-ревью.