ґорен, дивись яку тян я для тебе знайшов: https://www.youtube.com/watch?v=1zjd8Kt26N4
Вчера весь день развлекала мелкую котэ по имени Няша.
http://i.imgur.com/0VyvDce.jpg
А вообще -- у меня на работе случился пиздец, после которого прочая ебля с JS -- просто сказка. После очередного большого рефакторинга нашего JS-кода перестала работать одна херня. Долго копался в лапше (кстати, риспект файрфоксовым ЖС-утилитам, очень хороши уже стали) этого кода, оказалось -- есть функция
function calculate_threshold(config, playtime, contentLength) {
return config.playtime_threshold !== null ? (playtime / 1000 >= config.playtime_threshold) : true;
}
И есть вызывающий её код:
threshold = calculate_threshold(playtime, contentLength);
Казалось бы -- ну обычное дело для скриптовых языков такой хуйнёй страдать. Но! Какой-нибудь питон сразу же взвыл бы, кинул Exception и так далее, и ошибка бы моментально была исправлена. Здесь же вот что происходит: код работает тихонько дальше (вызывать с недостаточным кол-вом аргументов -- нормально). Внутри вот этого calculate_threshold в config поступает число (playtime вместо config получается), и наш любимый джаваскрипт от "config.playtime_threshold" вместо ещё одного взрыва и эксепшна возвращяет undefined
.
Короче именно тот случай, когда потеряли несколько дней данных из-за вот этой вот хуйни.
// уже точу свой WebStorm, эту почему-то он ошибку не видит, зато нашёл кучу других