Как стать автором
Обновить
0
0
Роман @Romas34

Программист

Отправить сообщение
По моему мы с Вами говорим несколько о разных вещах :) Я совершенно согласен, вот абсолютно, с тем, что Вы сейчас говорите. Но Вы пытаетесь сравнить, на мой взгляд мягкое с тёплым :) Вот же ранее я писал:
Естественно, все эти задачи носят чисто методический учебный или тестовый характер и совершенно не нужны в реальном применении. Ну такого ведь в любом языке хватает…

В любом случае я сомневаюсь, что когда-то придётся писать/использовать нечто подобное :) Ибо, скорее всего везде и всегда будет использоваться явное приведение типа, ибо всегда надо отдавать себе отчёт в том, что ты делаешь и что хочешь получить…

Т.е., как бы естественно, что в реальном приложении/коде такое не надо использовать! :)
Если человек не знает и знать не хочет, чем равно 4 — - '2', зато хорошо понимает что такое имутабельность, асимптотика, может написать бинарный поиск, умеет в свою экосистему, умеет правильно решать прикладные задачи, и вообще горит энтузиазмом, то мне дела нет до его 4 — - '2', потому, что он не напишет этого в коде.

Ну я вот просто уверен, что такой человек без проблем ответит и на такой вопрос! :) А тестовые задания (приложения или реализация как-то конкретного функционала), вроде как, итак даются, в конце-концов, при приёме на работу :)
И вообще, если уж речь зашла о приёме на работу (не понятно с чего, кстати :))), то я тоже считаю, что это всё фигня полная :)
А для новичка подобные тесты, возможно, помогут лучше понять основы языка, проникнуться, так сказать :) Возможно, благодаря им, он даже заполнит у себя какие-нибудь пробелы в знаниях :)
я не знаю наизусть таблицы приведения типов

О каких таблицах речь? Я так понял, существует просто набор правил, если так можно выразиться и часть там да, надо запомнить, а остальное просто понимать.
Такой код не должен проходить вменяемое review.

Дак это и не «рабочий» код какой-то. Это тестовые учебные задачи. Вы тестирования что ли никакого никогда не проходили по любому ЯП? Почти везде есть подобное.
Но статья то совсем не о них. Статья про {}+[]+{}+[1] и !!«false» == !!«true» прочие грабли.

Да какие тут грабли? Такие же правила обычные, которые, вроде как, не мешало бы и знать, на мой взгляд:
Для явного преобразования используется двойное логическое отрицание !!value или вызов Boolean(value).

Строка, если не пустая, то она true при кастинге. Вот и всё, что необходимо знать, чтобы понять что получится в случае !!«false» == !!«true»… Вы не знаете что ли, что + по дефолту операнды кастит к строке, если один операнд строка? Что, чтобы сделать явное приведение к числу, то надо + впереди поставить (+«10»)? Что [] — ссылка на массив, а {} — на объект...? Ну и т.д. и т.п.
Я согласен что есть какие-то хитрые заморочки с подобным {}+[]+{}+[1], но на то они и тестовые/контрольные задачки :) А остальные вещи по моему довольно просты…
Да при чём тут качество кода? Никто не заставляет так писать. Это обычные тестовые задания на выявление понимания основ языка, то что человек знает мат часть, так сказать, а не просто нахватался вершков и что-то там делает, возможно, по примерам, но в некоторых случаях совершенно не понимает как и почему это работает. Например мне совершенно не понятно, как можно программировать на каком-либо языке, не зная как там и что к чему кастится и в каком случае… Что, например, в логическом «И» операнды выполняются слева направо, пока какой-то из них не станет false, а в логическом «ИЛИ», наоборот, пока один из них не окажется true. И это не бесполезные знания, на мой взгляд.
P.S. За статью спасибо! Добавил в закладки :)
Немного рассуждений на тему…
Изначально учил паскаль и С/С++, что-то по мелочи писал, затем Java'у, в частности Java ME, несколько лет на ней, затем ActionScript и MXML… сейчас вот решил изучить JS — возможно придётся пописать на нём… Ко всему подхожу фундаментально, не люблю/не могу хватать вершки, «галопом по европам», так сказать, поэтому начал гуглить и искать какие-то учебники по языку, чтобы проникнуться в основы. И вот первое на что натыкаешься везде и повсюду, так это на приведение типов в JS: все хватаются за голову, пишут какие-то приколы, куча мемов на эту тему и т.п., я даже немного был удивлён и озадачен по началу. Начал читать элементарные темы «приведение типов» и т.п. и всё стало ясно-понятно, если понимать/знать как работает приведение типов в JS. Не совсем понятно, что тут такого особенного и сверхъестественного, с этими задачками, что столько народу так носится с данной темой и бугуртит… :)
Естественно, все эти задачи носят чисто методический учебный или тестовый характер и совершенно не нужны в реальном применении. Ну такого ведь в любом языке хватает… Я хочу сказать, что ведь это не магия какая-то и не что-то из ряда вон выходящее. По большому счёту, здесь нет никакой хитрости, если знать «правила» и знать основы языка.… Или я чего-то не понимаю… :)
В любом случае я сомневаюсь, что когда-то придётся писать/использовать нечто подобное :) Ибо, скорее всего везде и всегда будет использоваться явное приведение типа, ибо всегда надо отдавать себе отчёт в том, что ты делаешь и что хочешь получить…
Да, ну тут тоже важно не перегнуть палку, ибо у любой медали, как известно, есть две стороны, и тоже не хотелось бы, чтобы рынки (и каталоги игр) заполонил третьесортный материал :) Где будут выливать всякий недоделанный и «на коленке» запиленный шлак, забагованный, глючащий и попросту, тратящий время пользователей… В котором, будут тонуть нормальные стоящие продукты… В частности меня немного задела вот эта фраза:
Игра полна багов, несовершенна и не завершена.

А мораль в том, что ко всему надо подходить «с головой» и максимально объективно. Здраво оценивать свои/чужие возможности и производимые продукты.
Респект за текст :) Всё верно подмечено и резюмировано :) Многие всю свою жизнь тратят на то, чтобы перед другими выглядеть так, как, по их мнению, от них ожидают эти «другие» :) Для многих очень важно мнение окружающих, причём абсолютно всех, а не конкретных избранных компетентных людей: что подумают? Что скажут? Не засмеют ли..?
Мой комментарий был тоже 9го числа, но только вчера получил одобрение и был опубликован… Автор успел поправить статью — ясно-понятно.
А где так написано? Я вижу только 1+2+3+4+5 = 3*5.

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность