Nik
и в итоге у тебя разрабы пишут автотесты ради автотестов, админы гоняют пайплайн просто так ради запуска автотестов которые ничего не тестируют и т.д.
Slava
не я большой противник unit-тестов
Slava
в навязывательной манере
Стас Щетинников
Slava
я разделяю программистов на те которые сами понимают зачем это им - и пишут, и тех которые не пишут :)
Nik
а если нет автотестов то и в канаву весь девопс, не?
Стас Щетинников
не я большой противник unit-тестов
просто юниты - это зло, их сразу приходится выкидывать при любом мало-мальском рефакторинге.
Стас Щетинников
с учетом того ,что нынешняя разработка - это "собери себе франкенштейна из компонентов, написанных другими", то основная работа - это интеграция.
Nik
ну вот тут то как раз я бы возразил
Nik
как раз от дефектов рефакторинга юнит тесты и защищают
Nik
когда не меняется контракт
Slava
самое главное, собирать франкенштейна из протестированных компонент :))) (но это не про автотесты, а про acceptance)
Nik
просто на моей практике любая доработка - изменение контракта (особенности конкретной задачи) а вот если гарантированно контракт не менялся (а это и есть рефакторинг) - тесты спасают
Стас Щетинников
как раз от дефектов рефакторинга юнит тесты и защищают
не-не-не. Он защищает, если они проверяют контракт - то что редко меняется. А для веба - это прослойка между внешним АПИ и базкой. И между АПИ и ui. Т.е. интеграционные тесты/
Slava
на защищают, но тесты на уровне компонент - это тесты запрограмированных ошибок бизнес логики ;)
Slava
да тут важно отличать unit, intergration/acceptance
Nik
хорошо что мы все согласны, предлагаю закрыватьтему пока это так :D
Dmitriy
Когда я рефакторю класс с целью улучшения читабельности, либо когда пришло новое изменение требований, я очень рад, что код покрыт юнит-тестами. Намного безопаснее и быстрее
Dmitriy
А чтобы их не выкидывать при рефакторинге, очень важен SOLID и все такое
Стас Щетинников
А чтобы их не выкидывать при рефакторинге, очень важен SOLID и все такое
важнее конечно, LC/HC при проектировании. SOLID - он все-таки какой-то странный и про ООП )
Dmitriy
Я из мира ООП, поэтому да, профессиональное)
Dmitriy
Но сути не меняет. В основе та же изолированность, независимость и т.п.
Стас Щетинников
ну просто весь солид легко вывести из LC/HC. И как мне кажется, он универсальнее и проще для понимания.
Slava
Просто надо писать проще :-] ваш К.О.
Стас Щетинников
Просто надо писать проще :-] ваш К.О.
Спасибо ;) Но весь вопрос, как это сделать )
Slava
Вооот... как
Dmitriy
ну просто весь солид легко вывести из LC/HC. И как мне кажется, он универсальнее и проще для понимания.
Эта аббревиатура спасает, когда нужно кого-то обучить более-менее правильному кодированию и проектированию. Каждый принцип понятен и кейсы можно привести понятные. То есть чуть ниже по уровню абстракции
Slava
Лучше дайте определение правильном кодированию
Slava
Потому что это абстрактное понятие
Slava
А пути достижения абстрактного понятия - тема сомнительная
Dmitriy
Вопрос риторический) Тут исключительно эмпирически. Если приходит новое требование и программист быстро его реализует, а QA не заваливают багами, то значит нормально написано
Pasha
Ой, ну это просто. Написано без ошибок и полностью соответствует требованиям заказчика
Slava
Да вот же ответ
Slava
полностью соответствует требованиям заказчика
Slava
(да пускай хоть на 80% 😂)
Dmitriy
Сроки реализации требований выводим из уравнения?
Pasha
Pasha
быстро, качественно и очень дорого
Slava
в программировании стоимость не залог качества)))
Pasha
просто быстро, качественно и дёшево не бывает
Pasha
а с дорого шанс есть
Dmitriy
срок может являться требованием
Большинство под требованиями понимает функционал. Но можно и в требования завести)
Pasha
согласен, да
Pasha
но не всё можно сделать быстро
Slava
Это скорее до программиста спускаюьтся требования как функционал ;)
Dmitriy
Мы про программеров и говорим)
Slava
а если быть точным, то функциональность
Slava
А это проблема
Pasha
вот придёт заказчик и скажет что хочет универсальный ИИ и готов за это дофига платить. Вероятно завтра всё равн не получится :(
Slava
программист он всегда херов если в вакууме, какими-бы скиллами не обладал, согласны?
Slava
(мы опять начинаем про Agile)
Pasha
программист он всегда херов если в вакууме, какими-бы скиллами не обладал, согласны?
не-а. Сферический ещё во всём бизнесе разберётся, с клиентом поговорит и с заказчиком и сам всё правильно сделает
Slava
Почему нет?
Slava
Не один, а вместе с командой
Pasha
может и один
Slava
Посидит и послушает :)
Pasha
ит стронгли депендс он проджект сайз
Slava
Че там у заказчика за галлюцинации
Slava
Да ну забейте на сайз, уже понятно что если ты не амазон, то твой продукт там 10-к человек сделают
Slava
остальное - это поддержка инфраструктуры, и монстры какие-нибудь типа госов
Slava
операционные системы
Pasha
есть много проектов, которые разраб в одно лицо может сделать при развитых софтскиллах
Slava
нужны ли программисту софтскиллы?
Slava
вот сегодня
Slava
не обязательно для заказчика
Slava
а просто в команде - менеджеры, бухгалтерия, и т.п.
Dmitriy
Для коммуникации очень важно, думаю. А коммуникация очень важна в результате проекта
Dmitriy
Но хотя есть примеры людей, кто просто сидит и качественно/быстро пишет. Такие тоже нужны. Но если вся команда такая, то беда
Стас Щетинников
нужны ли программисту софтскиллы?
обязательно. командная работа, все дела, понимание, что ты вообще делаешь.
Slava
но люди же врут, зачем с ними общаться?
Slava
:]
Slava
есть такая ловушка фидбека - вам говорят что приложение прикольное, все понравилось
Slava
а потом тот учвак который просто сидит и качественно/быстро пишет - говорит "хм, странный раздел сайта, никто никогда не посещал"
Anonymous
кто о чем а тренера о софтскилз
Anonymous
вы бы математика программиста еще спросили нужна ли програмисту математика
Dmitriy
а потом тот учвак который просто сидит и качественно/быстро пишет - говорит "хм, странный раздел сайта, никто никогда не посещал"
Такой человек не будет смотреть аналитику посещения. Он лучше покопается в последнем стандарте плюсов)
Стас Щетинников
Slava
ну как раз помогает только трезвый рассудок и аналитический склад ума ))