Wake up, Neo!

Wake up, Neo! Юмор, Frontend, Код, Разработка, Костыли, Быдлокодинг

Нашёл в просторах многолетнего рабочего проекта 😂

IT-юмор

5.6K постов52.5K подписчика

Добавить пост

Правила сообщества

Не публикуем посты:
1) с большим количеством мата
2) с просьбами о помощи
3) не относящиеся к IT-юмору

5
Автор поста оценил этот комментарий

Газпроме? Прода же, production

раскрыть ветку (1)
11
DELETED
Автор поста оценил этот комментарий

Похоже, "Сбербанк разраб детектед"))


Недавно работал с их API и у них прод называется "пром" - "промышленный".

Иллюстрация к комментарию
показать ответы
11
Автор поста оценил этот комментарий

Да, сама функция норм. Ловить исключение в ней для поиска имеет смысл только если ты реально подозреваешь, что объекты какие-то не те будут. Но это, действительно, из пушки по воробья.


Даже если чувак просто для прикола это написал, чтоб скрин сделать, то выглядит убого. Как не посмотри на этот код - мудатория.


Но такое на проде может быть. Мне начальник рассказывал, что они в 1с подобные штуки по молодости писали в виде:

Если a=b тогда

...

ИначеЕсли  a<>b Тогда

...

Иначе

Сообщить("Ошибка! Разбей стекло! Еби гусей! ");

КонецЕсли

раскрыть ветку (1)
6
DELETED
Автор поста оценил этот комментарий

Если бы ради шутки - реальный коммент прямо в коде. И не знаю, то ли смеяться, то ли плакать...


А вообще да. Как-то видел участок "китайского" кода, где на вход передавалось число и, в зависимости от него, нужно было выполнить какое-то действие. За давностью лет не помню что за действие, но примерно так было:


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 строк

}

показать ответы
Автор поста оценил этот комментарий
Ммм. Переменная useHardcodeMode - вынесена в настройки?
раскрыть ветку (1)
3
DELETED
Автор поста оценил этот комментарий

И всё это в одном файле :)

Иллюстрация к комментарию
Иллюстрация к комментарию
показать ответы
61
Автор поста оценил этот комментарий

А расскажите, пожалуйста, непрограммисту, что сей кусок кода делает? Точнее в каком случае она начинает будить Нео?

раскрыть ветку (1)
12
DELETED
Автор поста оценил этот комментарий

Конкретно здесь, надпись в консоль будет выведена в случае возникновения ошибки фильтрации списка городов по идентификатору.


Но доставляет не это, а наличие таких комментариев в коде ><

показать ответы
1
Автор поста оценил этот комментарий
Я бы написал что-то вроде такого, но я не настоящий жабаскриптолог

let city = this.cities && this.cities.find(city => city.id === this.user.city_id) // предполагаем, что user не null | undefined
this.filteredCity = city && city.name || this.filteredCity
раскрыть ветку (1)
2
DELETED
Автор поста оценил этот комментарий

Будь это мой кейс, написал бы:


this.filteredCity = this.cities.find(({ id }) => this.user.city_id === id)?.name || 'Unknown'


Но нет

показать ответы
Автор поста оценил этот комментарий

А он вообще в курсе сколько обычно весит node_modules на типичном веб-проекте? )))

раскрыть ветку (1)
1
DELETED
Автор поста оценил этот комментарий

И он также не в курсе сколько зависимостей в нём)

Это тот самый проект)


Но, он, скорее, имел ввиду не вес файлов, а насколько эта либа будет грузить веб-морду проекта.

Вон, у лодаша дока реально тяжёлая на офф сайте. У меня браузер захлёбывается с ней работать. Хотя, это вообще не показатель)

Иллюстрация к комментарию
Иллюстрация к комментарию
Автор поста оценил этот комментарий

Ну, не знаю. Обычный императивный стиль, без сильного криминала. Но за такую реализацию я бы ручки под паровоз положил. За console.log() еще бы и по голове настучал. За try...catch выгнал бы нафиг.

Интересно, а использование промиса оправдано или это "мы просто только так умеем"?

раскрыть ветку (1)
1
DELETED
Автор поста оценил этот комментарий

console.log для разработки используется. При компиляции для прода lint, или кто-то там, вырезает такие строки.

показать ответы
Автор поста оценил этот комментарий

Никогда не рассказывайте ему про ramda или lodash )

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Есть один знакомый, который из проектов вырезает lodash "патамуштапиздецтяжёлыйигрузитпроект".


А потом изобретает велосипед, внедряя свои костыли, функционал которых есть в lodash в значительно лучшем виде.

показать ответы
Автор поста оценил этот комментарий

1. Да, используется для разработки. Но если юзаешь нормальный дебаггер в шторме, то практически не пользуешь.

2. lint или Prettier ничего не делают с кодом без команды. Линтер подчеркнет консоль как ошибку, если настроено правило линтера. Удаление всей это фигни проходит не на проде на при коммите. Если настроены прекоммит или посткоммит хуки. Но судя по коду, то на этом проекте ни про линтер, ни про Prettier и тем более про прекоммит хуки никто не слышал

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий
Но там есть и линтер, и преттиер, и какие-то хуки вызываются в пре коммите...
показать ответы
4
Автор поста оценил этот комментарий

в ВТБ тоже так

раскрыть ветку (1)
1
DELETED
Автор поста оценил этот комментарий
Жуть какая
1
DELETED
Автор поста оценил этот комментарий

ну и какой даун такой код написал?

раскрыть ветку (1)
1
DELETED
Автор поста оценил этот комментарий

Тот, кто пришёл в IT "патамуштамногаплатят"))

Автор поста оценил этот комментарий

?? вместо ||


?? работает в том типе в котором определена переменная, || тип может поменять.


а вообще по моему скромному мнению, то если это filteredCity, то это как бы подразумевает объект, ибо если мы забираем название, то тогда уже filteredCityName правильнее. Ну, это уже если чисто доколпуаться до нэйминга

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Нуль-колизный оператор ("??") не вернёт дефолтное значение в том случае, если переменная существует, но пуста. А вот если значение "null", тогда вернёт дефолтное.


Оператор "OR" ("||") решает эту проблему в данном случае.

Иллюстрация к комментарию
Иллюстрация к комментарию
Иллюстрация к комментарию
показать ответы
2
Автор поста оценил этот комментарий

Ого? У них в этой конторе что гнездо? )

Вообще за подобные комментарии или коды ошибок в приличной конторе могут и штрафануть

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

А на вопрос "кто это пропустил?" ответ прост - джун-техлид)

5
Автор поста оценил этот комментарий

Кроме переменной с названием "юзатьРежимГовнокода" не вижу никакой особой проблемы в представленном куске кода.


Ну кроме того, что автор — мудак и не умеет писать нормальные комментарии и коды ошибок.

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Там два автора, имена я закрасил разными цветами.

Иллюстрация к комментарию
показать ответы