Здравствуйте, 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

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