Re[6]: Регрессионные тесты для тулзы в отдельном exe - как о
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 23.05.21 18:39
Оценка:
Здравствуйте, kaa.python, Вы писали:

M>>Ну и пишу на C++, кстати. Во-первых — продакшн у нас на плюсах, и что-то наработанное в таких утилитках бывает что допиливается, и потом используется в других местах, и в продакшене тоже 2) На плюсах, тем более на современных, на самом деле писать не сильно больше, чем на каком-то питоне. Само собой, в тех случаях, когда нет варианта просто подтянуть какой-то готовый питоновский модуль.


KP>Я бы однозначно не стал писать никаких интеграционных или регрессионных тестов на плюсах. Да, на первый взгляд это не сложно и можно. Но когда оно разрастется ты очень быстро упрешься в то, что одна строка на Python равна 3-5 на плюсах в очень многих случаях. Таки проще один раз выучить Python. Я на нем вообще ничего кроме тестов не пишу, но оно того стоит.


Позволю себе с тобой не согласиться.
1) Питон таки я худо бедно знаю, а что подзабыл — вспомнить не большая проблема
2) То, что на питоне пишется в одну строчку, а на плюсах — в четыре, это — можно вынести в отдельную функцию и написать её понятно, хоть в 10, хоть в 20 строк, дав ей вразумительное имя.
3) Чем жирнее становится питоновский скрипт, тем меньше в нём становится чего-либо понятно.

В голову приходит perl, где можно было писать write only короткие конструкции с использованием переменных по умолчанию и прочего говна. Для того, кто знал перл очень хорошо — это было нетрудно, а для того, кто в перл заглядывал лишь иногда — это было адом. Так что уж лучше 5 строчек, где всё разложено по полочкам, чем одна, вида "хз как оно вообще работает"

Питон неплох в качестве продвинутого bash'а для небольших скриптов, но после тыщи строк он уже становится мало контролируем и понимаем


KP>Мне всегда важно что бы можно было легко работу передать новичку какому-то, и при таком подходе ты всегда можешь какого-нибудь интерна посадить дописывать и не бояться что он всё разломает. В командной работе это крайне важно, но, само собой, у тебя могут быть другие условия.


а это —
4) У нас все — плюсовики, других не держим и не берём. Все "интерны" более или менее знают C++, но не факт, что знают питон.
А питоновское разломать — имхо, гораздо проще, чем плюсовое. В таких тулзах если на C++ обычно мегашаблонное александреску не используется, а просто "C с классами" и "C с шаблонами"


M>>Хм. А что значит — сваливать в одну кучу? Если самому писать, я бы типа инишки написал, где описывались бы входные кортежы, и по ним бы проходил. Никакой кучи и без какого-либо PyTest'а


KP>В PyTest у тебя будет несколько тестов на разные ситуации. Сразу будет видно что и почему отвалилось, что очень полезно при интеграции с CI/CD.


Ну может мне наверно надо таки глянуть, что за зверь этот PyTest
Но пока так и не понятно, чем бы он упростил жизнь в данной ситуации.

Может, есть какой-нибудь пример практики, похожий чем-то на мой случай?
Маньяк Робокряк колесит по городу
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.