рефакторить код вообще никак. плюс, в случае какого-нибудь руби, ты ещё и не застрахован от очепяток. у меня на прошлой работе проект жил без единого теста где-то года два - это был трэш. мы тогда были совсем зелёные, а наш тогдашний тимлид не делал ровным счётом ничего - ни ревью, ни заставлял тесты писать, да и вообще хз что делал (его, конечно, потом на мороз выкинули, но уже спустя прилично времени). как следствие - куча багов в каждом релизе (а релиз согласовывался с заказчиком), невозможно что-либо переписать, целая толпа QA, которые денно и нощно это всё протыкивали адово (бедняги). как следствие уже этого - вечно недовольные заказчики, подгоняющие сроки, недовольный ПМ, который не выделял времени на рефакторинг (да и какой тут рефакторинг?), и в целом очень тухлый и угнетающий проект. в моём понимании, если бы тогда тимлид был нормальный и заставлял хотя бы на новый функционал писать тесты, проект уже был бы не таким изматывающим. всё ещё тухлым, но чуточку лучше.
сейчас я пишу тесты вообще на весь новый функционал, разве что это не какой-то интерфейс, который можно руками потыкать, или какой-нибудь скрипт выгрузки там или чего-то подобного, что можно один раз отладить и после не трогать лишний раз до нужды. соглашусь с последним высказыванием: хороший код - это тот, который легко тестировать. но если прям сильно горят сроки, лучше написать так себе код, но покрыть его тестами, пусть даже с кучей моков-стабов-заглушек-костылей. просто чтобы ты потом мог к нему чуть позже вернуться и сделать нормально, не потеряв понимания контекста.
так что я всеми конечностями за тесты, не пишут тесты только аутсорсеры, которые на маленькой зп сидят на субподряде, да всякие стартаперы, которым всё горит 😁а потом ты такой на подобный проект приходишь, офигеваешь и уходишь
Кратенько 😂
Обсуждают сегодня