Wake up, Neo!
Нашёл в просторах многолетнего рабочего проекта 😂
Нашёл в просторах многолетнего рабочего проекта 😂
А расскажите, пожалуйста, непрограммисту, что сей кусок кода делает? Точнее в каком случае она начинает будить Нео?
Вероятно, в прошлых версиях этого кода что-то шло не так. Программист написал специальную проверку на "что-то не так", и если оно опять случилось - то получает в консоли сообщение для самого себя - типа "чувак, ты опять не осилил сделать правильно".
Там и сейчас может быть ошибка. Если find не найдёт объект, но свойство name будет запрашиваться.
Похоже, "Сбербанк разраб детектед"))
Недавно работал с их 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 строк
}
Да ладно, не расстраивайся, у всех когда-то был говонокод, может научишься еще программировать, пока лучше прислушайся к советам взрослых
Так много чего может быть,
cities может быть нулл
может не найтись элемента вообще
куча всего еще
IT-юмор
5.7K постов52.5K подписчиков
Правила сообщества
Не публикуем посты:
1) с большим количеством мата
2) с просьбами о помощи
3) не относящиеся к IT-юмору