БЕГЕМОТИКОВ МОЖНО! Войти !bnw Сегодня Клубы

Всё чаще наблюдаю такую закономерность: люди, любящие IDE и мощные отладчики, производят самый адов говноокод. А самый чистый код у тех, кто пользуется отладочной печатью, логами и тестами. ЛОР, а ты что думаешь? Допустимо ли debugger-driven development?

Рекомендовали: @komar @minoru
#OBS5BF / @ninesigns / 3406 дней назад

юзаю дебаггер когда все сломано настолько, что отладочная печать/мигание светодиодами не работает.
#OBS5BF/1HB / @lexszero / 3406 дней назад
Gdb херово фурычит с go. Вынужден писать осмысленный код.
#OBS5BF/VSJ / @lord / 3406 дней назад
Вот только пользователи вимов/емаксов/саблаймов почему-то ленятся прикручивать/запускать lint, поэтому когда я трогаю какой-то сорец и открываю его в IDE, процентов 10 кода обычно подчёркнуто. И в этих десяти процентах находятся одна-две глупые ошибки. Отладчиком пользуюсь только для ноды, если неочевидно, что куда.
#OBS5BF/1WT / @heroin / 3406 дней назад
Да, как-то так. Но разница в производительности труда тоже имеется.
#OBS5BF/VHY / @kb / 3406 дней назад
@heroin > программировать на языках. где ошибки вылавливаются автоматически
#OBS5BF/FSZ / @komar --> #OBS5BF/1WT / 3406 дней назад
самые чистые две строчки в день с названиями классов и переменных из двух букв
#OBS5BF/RSG / @mugiseyebrows / 3406 дней назад
@komar Не понял, что ты хотел сказать.
#OBS5BF/EG6 / @heroin --> #OBS5BF/FSZ / 3406 дней назад

@heroin я это прочитал как намёк комара, что если ты пользуешься таким языком[/компилятором/инфраструктурой/экосистемой...], который вместо предотвращения ошибок их автоматически выявляет — то это плохие новости (потому что в общем это удлиняет feedback loop при разработке, и ты кодишь в целом медленнее и менее коректно).

По факту, учитывая отстойность и немощность многих и многих линтеров, я с этим даже соглашусь. У них крайне поверхностный анализ; плохо сделано. Но.

В теории, есть возражение. Верифицировать и перепроверять код программиста — не единственный юзкейс и назначение компиляторов. Им ещё нужно, все-таки, делать кодген (будь то нативные байтики, или байткод — похуй). Причём быстро.

А многие виды (алгоритмы) статического анализа несовместимы с «генерировать код быстро». Пример: тот же data flow analysis, помогающий находить/проверять NPE (Null Pointer Exception) в языках с универсальным nil (где любой юзерский тип ∈ Nullable) без ADT и патерн-матчинга — такой анализ NP-полон. Значит, очень легко даже ненарочно написать такой код, где этот анализ работает очень медленно. Такое просто нельзя делать в компиляторе. Даже если рассуждать в модальной логике со статистическими кванторами «скорее всего»/«в 95% случаев»/этц.

Поэтому, в теории, статический анализ необходим как класс софта (чтобы удовлетворять запросы тех, кого устраивает крайняя позиция трейдоффа «скорость сборки ↔ глубина анализа корректности кода»). Но, на практике, все эти линтеры — адов шлак, и лучше бы язык просто не позволял писать хуйню изначально.

#OBS5BF/C81 / @ulidtko --> #OBS5BF/EG6 / 3405 дней назад
@ulidtko ебать, каких умных слов улиточка набрался охуеть и не встать теперь
#OBS5BF/KSC / @komar --> #OBS5BF/C81 / 3405 дней назад

@komar попизди мне тут сука, я мысль передать хочу — а комар выебывается

я хочу передать другую мысль — а комар снова выебывается. Вот нахуй так жить?

#OBS5BF/T7C / @ulidtko --> #OBS5BF/KSC / 3405 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.