Names
все решил проблему спасибо
Yevhenii
все для тебя
Анатолий
подключен
jQuery что возвращает в консоли? Если ничего, то смотри во вкладку network, действительно ли он подключился, а потом в исходный код - проверять последовательность подключения
Ivan
BEFORE
Ivan
🌚
Igor
А почему людей в pro.js.noobs отсылать перестали?
Anonymous
Некому. Все в отпусках.
Evgenii
Добрый день, подскажите как можно решить данную задачу, при загрузке фото на сайт могут загружаться перевернутые фото, можно ли потом при просмотре в галереи эти фото развернуть?
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
И типобезопасности этот кейс не противоречит.
Anton
на предыдущей работе всегда ставили, даже когда не надо, а на нынешней против
Anonymous
на предыдущей работе всегда ставили, даже когда не надо, а на нынешней против
Всё правильно. Мы уже привели достаточно аргументов. Если не понятно, изучи вопрос сам. Всегда ставь под сомнение старый опыт, или перестанешь учиться.
Sheldhur
++\-- тоже как ухудшение идет?
Anonymous
Зачастую да.
Anonymous
Но добавляет неявности. Иначе нубам бы на собеседованиях такой вопрос не задавали.
Sheldhur
тренарный оператор тогда тоже ухудшение кода
Anonymous
Нет.
Sheldhur
почему?
Anonymous
Блеа, это дед вылез.
Sheldhur
нужно же уметь обосновать свои слова, а не просто потому что мне вон там-то так сказали
Sheldhur
и я за это голову отрежу, каждому кафиру
Anonymous
на предыдущей работе всегда ставили, даже когда не надо, а на нынешней против
Ваще, на прошлом месте, скорей всего, воевали за явность. Но у каждого своё понимание явности. Приводится к булеву что-либо толлько тогда, когда ты создаёшь именованные признаки в переменных, как результат проверки чего-либо: const isFnGiven = !!FirstName; const isOrg = !isFnGiven && !!orgName; Не хватило фантазии на мене тупой пример. Такое оправдано только при наличии сложных проверок. Хотя, по ситуации.
Анатолий
Понятия "всегда" не существует :)
Анатолий
Всегда бывают только исключения из "всегда"
Anonymous
пре\пост инкременты добавляют в код неявности и неочевидности. Для проверки как булевых значений будь добр преобразовать значение по человечески, через Boolean, не экономя буквы и повышая читабельность. Тернарники - это хорошо когда они не вложенные т.к. помогают избавиться от ифов. Ты, блин, для людей пишешь код, а не для машины. Большего тебе, старый хорёк, ничего не скажу. Т.к. говорить с тобой нет никакого смысла.
Анатолий
Поэтому всегда нужно делать только одно - думать головой в конкретном случае
Юрий
Анатолий
И если это не питон :)
Anonymous
О.
Anonymous
Ничоси что ты откопал.
Анатолий
Дерево тернарников? Легко запутаться даже в одном вложенном
Если код оформлен как говно - то даже без вложенного
Anonymous
Лол.
Anonymous
кмк если есть какие-то слишком жирные условия, то их надо разбивать
Anonymous
Дерево тернарников — это и есть говно.
Анатолий
Плохой код исключает использование тернарников, дерева ифов, чейнов и вообще всего, что не может уместиться в одну строчку до точки запятой )
Anonymous
Если код оформлен как говно - то даже без вложенного
Можно пример того как выглядит дерево тернарников? Я просто фз даже как это можно записать чтобы было читабельно.
Анатолий
Можно пример того как выглядит дерево тернарников? Я просто фз даже как это можно записать чтобы было читабельно.
Под рукой нет. У меня тоже нет, так как я обычно бью по функциям. Но я считаю, что это можно оформить читаемо и оно будет читаемо
JE$U$
Можно пример того как выглядит дерево тернарников? Я просто фз даже как это можно записать чтобы было читабельно.
restedItems[0].mode !== Mode.record ? ({ ...item, index: i + 1}) : i === 0 ? ({ ...item, index: restedItems.length }) : ({ ...item, index: i }))
Anonymous
Если у тебя есть такое место, где проводится такая сложная проверка, то это должно быть спрятано в отдельной функции. Чем более сложно то или иное место в коде, тем больше нужно уделить внимания его безопасности.
Anonymous
Если подходит свич, то switch return.
Anonymous
Если нет, то if return.
JE$U$
это и есть отдельная функция лол
Sheldhur
и что тут непонятного мне неясно :)
Анатолий
Во-первых, а во-вторых в тернарниках нужно избегать повторов. Часто про это забывают и получается немыслимый оверхед. Конечно же, если переписать всё на ифы, код получится намного короче :)
Anonymous
это и есть отдельная функция лол
Ну, как по мне, так жесть. Операторы из одного символа, так-то, не очень читаемы.
Anonymous
Тернарник — сахар для простых случаев.
Sheldhur
кек
Anonymous
А вот это — это как BMX использовать в качестве шоссейника.
Анатолий
restedItems[0].mode !== Mode.record ? ({ ...item, index: i + 1}) : ({ ...item, index: i ===0 ? i : restedItems.length })
Анатолий
Дальше видим снова повтор, опять упрощаем
Anonymous
Хотя его я бы тоже переписал.
JE$U$
Дальше видим снова повтор, опять упрощаем
да, у меня там без повторов условия
Анатолий
Это другой кейс.
Это то же, что и выше, только без повторов
Анатолий
Опять же, всё в меру
Анатолий
Если совсем избавиться от повторов, получится дикая однострочная запись и тернарник внутри объекта
Анатолий
Короче, всегда надо смотреть на код и решать в конкретный момент, какая запись лучше :)