[62369746521f50ca71091df2e5f27aaff0f7d56c]
Увидел БЯМ-assisted код
Увидел тут отданную на review задачу одну. Я целый день был просто
шокирован увиденным. У меня реализация задачи (без тестов) заняла
где-то на 2.5-3 экрана кода (менее 200 строк), на пару часов. Там
же задача выполнялась (ещё не до конца, но с тестами) две недели.
3.5kSLOC (без учёта комментариев) на основной код, столько же на
тесты. Комментарии ещё на 1kSLOC больше добавляют. Там просто
невероятное кол-во абстракций (ООП на максималках). SOLID в самом
его худшем проявлении. Почти 40 .py файлов на основной код (20+ на
тестах). Даже безотносительно "ООП-amplification", почти 90% всего
что я видел: просто не нужно для задачи, feature которые никогда не
будут на практике нами задействованы или же могут быть реализованы
вне программы.
Изначально я не сразу подумал о том что это всё БЯМом сотворено.
Так как не пользуюсь, то и мысли о нём не всплывают. Но появились,
потому что сложно поверить что такой объём можно бы было написать
одним человеком за такое время в принципе. Спросил поэтому его
прям использовал ли БЯМ.
Впервые я просто вынужден был написать, что я даже review не буду
проводить, ибо это просто безумное кол-во кода, неимоверное, немыслимое
для подобной задачи. Там я видел ещё массу вызывающих вопросы вещей,
типа тестов которые лезут в /proc/fd, что означает их работоспособность
только на Linux. За один полный рабочий день это невозможно бы было
отрецензировать. Там столько абстракций и сложностей, что чёрт ногу
сломит разобраться и оценить нормально ли всё написано. Может я не
правильно поступил, но решил самостоятельно написать эту задачу (без
тестов), чтобы показать что можно бы было обойтись вообще ровно одним
http.server.SimpleHTTPRequestHandler из родной библиотеки.
Я наслышан про то, что БЯМы генерируют просто лавины "воды", бесполезной
по сути, но я реально шокирован был таким кол-вом на практике увиденного.
В принципе не поддерживаемое ПО.
[оставить комментарий]