Names
все решил проблему спасибо
Yevhenii
все для тебя
Анатолий
подключен
jQuery что возвращает в консоли? Если ничего, то смотри во вкладку network, действительно ли он подключился, а потом в исходный код - проверять последовательность подключения
Ivan
BEFORE
Ivan
🌚
Igor
А почему людей в pro.js.noobs отсылать перестали?
Anonymous
Некому. Все в отпусках.
Evgenii
Добрый день, подскажите как можно решить данную задачу, при загрузке фото на сайт могут загружаться перевернутые фото, можно ли потом при просмотре в галереи эти фото развернуть?
Анатолий
Vitaly
Vitaly
не все браузеры понимают поворот с exif
Evgenii
как определить автоматически что фото не правильное ?
Evgenii
и скрипт переворачивал?
Evgenii
фото хранятся на amazon
Evgenii
как лучше это делать при загрузке или уже при выводе в галереи?
Sheldhur
полнотектсовый поиск в монге кто нибудь юзал?
George
Всем привет!
Мы тут решили немного померить зарплаты IT специалистов, для этого просим честно пройти анонимный опрос в боте:
https://t.me/DevHubBot?start=3QkRgG1CTw
Как наберем статистику, расскажем всем участвовавшим о результатах. А еще разыграем клевый гироскутер.
Anton
Вопрос. Всегда ли преобразовывать в if проверки к булевым значениям через (!!)? if (!!stringName && !parameter) { ... }
Не всегда, только по необходимости – 17
👍👍👍👍👍👍👍 94%
Всегда – 1
▫️ 6%
👥 18 people voted so far.
Anton
и если всегда, то какие аргументации
Дима
Забыл про сущетствование данной проблемы
Дима
flow + eslint достаточно чтобы получить уведомление и если не сделал приведение к bool когда нужно и даже если сделал когда не обязательно
Anonymous
Anonymous
И типобезопасности этот кейс не противоречит.
Anonymous
Anton
на предыдущей работе всегда ставили, даже когда не надо, а на нынешней против
Anonymous
Sheldhur
++\-- тоже как ухудшение идет?
Anonymous
Anonymous
Зачастую да.
Anonymous
Но добавляет неявности. Иначе нубам бы на собеседованиях такой вопрос не задавали.
Sheldhur
тренарный оператор тогда тоже ухудшение кода
Anonymous
Нет.
Sheldhur
почему?
Anonymous
Блеа, это дед вылез.
Sheldhur
нужно же уметь обосновать свои слова, а не просто потому что мне вон там-то так сказали
Sheldhur
и я за это голову отрежу, каждому кафиру
Anonymous
на предыдущей работе всегда ставили, даже когда не надо, а на нынешней против
Ваще, на прошлом месте, скорей всего, воевали за явность. Но у каждого своё понимание явности. Приводится к булеву что-либо толлько тогда, когда ты создаёшь именованные признаки в переменных, как результат проверки чего-либо:
const isFnGiven = !!FirstName;
const isOrg = !isFnGiven && !!orgName;
Не хватило фантазии на мене тупой пример. Такое оправдано только при наличии сложных проверок. Хотя, по ситуации.
Анатолий
Понятия "всегда" не существует :)
Анатолий
Всегда бывают только исключения из "всегда"
Anonymous
пре\пост инкременты добавляют в код неявности и неочевидности.
Для проверки как булевых значений будь добр преобразовать значение по человечески, через Boolean, не экономя буквы и повышая читабельность.
Тернарники - это хорошо когда они не вложенные т.к. помогают избавиться от ифов.
Ты, блин, для людей пишешь код, а не для машины.
Большего тебе, старый хорёк, ничего не скажу. Т.к. говорить с тобой нет никакого смысла.
Анатолий
Поэтому всегда нужно делать только одно - думать головой в конкретном случае
Анатолий
Юрий
Анатолий
И если это не питон :)
Anonymous
Anonymous
Ничоси что ты откопал.
Anonymous
Анатолий
Anonymous
Лол.
Anonymous
кмк если есть какие-то слишком жирные условия, то их надо разбивать
Anonymous
Дерево тернарников — это и есть говно.
Анатолий
Плохой код исключает использование тернарников, дерева ифов, чейнов и вообще всего, что не может уместиться в одну строчку до точки запятой )
Anonymous
Анатолий
Anonymous
Если у тебя есть такое место, где проводится такая сложная проверка, то это должно быть спрятано в отдельной функции. Чем более сложно то или иное место в коде, тем больше нужно уделить внимания его безопасности.
Anonymous
Если подходит свич, то switch return.
Sheldhur
Anonymous
Если нет, то if return.
JE$U$
это и есть отдельная функция лол
Anonymous
Sheldhur
и что тут непонятного мне неясно :)
Анатолий
Во-первых, а во-вторых в тернарниках нужно избегать повторов. Часто про это забывают и получается немыслимый оверхед. Конечно же, если переписать всё на ифы, код получится намного короче :)
Anonymous
Anonymous
Тернарник — сахар для простых случаев.
Sheldhur
кек
Anonymous
А вот это — это как BMX использовать в качестве шоссейника.
Анатолий
restedItems[0].mode !== Mode.record
? ({ ...item, index: i + 1})
: ({ ...item, index: i ===0 ? i : restedItems.length })
Анатолий
Дальше видим снова повтор, опять упрощаем
Anonymous
Anonymous
Хотя его я бы тоже переписал.
JE$U$
Анатолий
Опять же, всё в меру
Анатолий
Если совсем избавиться от повторов, получится дикая однострочная запись и тернарник внутри объекта
Анатолий
Короче, всегда надо смотреть на код и решать в конкретный момент, какая запись лучше :)