Wake up, Neo!
Нашёл в просторах многолетнего рабочего проекта 😂
Нашёл в просторах многолетнего рабочего проекта 😂
Похоже, "Сбербанк разраб детектед"))
Недавно работал с их API и у них прод называется "пром" - "промышленный".
Да, сама функция норм. Ловить исключение в ней для поиска имеет смысл только если ты реально подозреваешь, что объекты какие-то не те будут. Но это, действительно, из пушки по воробья.
Даже если чувак просто для прикола это написал, чтоб скрин сделать, то выглядит убого. Как не посмотри на этот код - мудатория.
Но такое на проде может быть. Мне начальник рассказывал, что они в 1с подобные штуки по молодости писали в виде:
Если a=b тогда
...
ИначеЕсли a<>b Тогда
...
Иначе
Сообщить("Ошибка! Разбей стекло! Еби гусей! ");
КонецЕсли
Если бы ради шутки - реальный коммент прямо в коде. И не знаю, то ли смеяться, то ли плакать...
А вообще да. Как-то видел участок "китайского" кода, где на вход передавалось число и, в зависимости от него, нужно было выполнить какое-то действие. За давностью лет не помню что за действие, но примерно так было:
function get(id) {
if (id === 1) return 'a';
if (id === 2) return 'b';
if (id === 3) return 'c';
if (id === 4) return 'd';
if (id === 5) return 'e';
//... и так далее на ~300 строк
}
А расскажите, пожалуйста, непрограммисту, что сей кусок кода делает? Точнее в каком случае она начинает будить Нео?
Конкретно здесь, надпись в консоль будет выведена в случае возникновения ошибки фильтрации списка городов по идентификатору.
Но доставляет не это, а наличие таких комментариев в коде ><
Будь это мой кейс, написал бы:
this.filteredCity = this.cities.find(({ id }) => this.user.city_id === id)?.name || 'Unknown'
Но нет
И он также не в курсе сколько зависимостей в нём)
Это тот самый проект)
Но, он, скорее, имел ввиду не вес файлов, а насколько эта либа будет грузить веб-морду проекта.
Вон, у лодаша дока реально тяжёлая на офф сайте. У меня браузер захлёбывается с ней работать. Хотя, это вообще не показатель)
Ну, не знаю. Обычный императивный стиль, без сильного криминала. Но за такую реализацию я бы ручки под паровоз положил. За console.log() еще бы и по голове настучал. За try...catch выгнал бы нафиг.
Интересно, а использование промиса оправдано или это "мы просто только так умеем"?
console.log для разработки используется. При компиляции для прода lint, или кто-то там, вырезает такие строки.
Есть один знакомый, который из проектов вырезает lodash "патамуштапиздецтяжёлыйигрузитпроект".
А потом изобретает велосипед, внедряя свои костыли, функционал которых есть в lodash в значительно лучшем виде.
1. Да, используется для разработки. Но если юзаешь нормальный дебаггер в шторме, то практически не пользуешь.
2. lint или Prettier ничего не делают с кодом без команды. Линтер подчеркнет консоль как ошибку, если настроено правило линтера. Удаление всей это фигни проходит не на проде на при коммите. Если настроены прекоммит или посткоммит хуки. Но судя по коду, то на этом проекте ни про линтер, ни про Prettier и тем более про прекоммит хуки никто не слышал
?? вместо ||
?? работает в том типе в котором определена переменная, || тип может поменять.
а вообще по моему скромному мнению, то если это filteredCity, то это как бы подразумевает объект, ибо если мы забираем название, то тогда уже filteredCityName правильнее. Ну, это уже если чисто доколпуаться до нэйминга
Нуль-колизный оператор ("??") не вернёт дефолтное значение в том случае, если переменная существует, но пуста. А вот если значение "null", тогда вернёт дефолтное.
Оператор "OR" ("||") решает эту проблему в данном случае.
Ого? У них в этой конторе что гнездо? )
Вообще за подобные комментарии или коды ошибок в приличной конторе могут и штрафануть
Кроме переменной с названием "юзатьРежимГовнокода" не вижу никакой особой проблемы в представленном куске кода.
Ну кроме того, что автор — мудак и не умеет писать нормальные комментарии и коды ошибок.
IT-юмор
5.6K постов52.5K подписчика
Правила сообщества
Не публикуем посты:
1) с большим количеством мата
2) с просьбами о помощи
3) не относящиеся к IT-юмору