Dmitriy419, знания того, как всё устроено на низком уровне, в любом случае полезны. Даже в скриптовых языках. Например, в Lua, который учится за 15 минут, везде используются хеш-таблицы, абсолютно везде. Просто это оказалось удобно, поэтому такое решение. И если вы это понимаете, то уже можете оптимизировать код. Скажем, если понимать, что строки сравниваются хешами, то становится очевидным, что дороже всего обходится создание новых строк, а само сравнение сколь угодно больших строк почти моментально.
А напрямую - это как? Физически руками трогать что ли?))
Задача драйверов как раз скрыть всю кухню взаимодействия с устройством и предоставить ОС некоторый интерфейс для работы с устройством. Этим занимается фирма, которая выпустила устройство. А кто ещё лучше справится? Более того, там же всякие ноу-хау.
ОС в свою очередь предоставляет более абстрактный интерфейс для других программ, включая игры.
Игры тоже предоставляют интерфейс, но уже не API, а напрямую пользователю через экран и средства ввода.
На всех уровнях так или иначе происходит взаимодействие с железом в конечном счете через предыдущие уровни (кроме драйверов - они взаимодействуют напрямую). Даже юзер крутит настройки, чтобы регулировать фпс.
Роман, я вижу только одну потенциальную проблему - если одна и та же константа у вас используется два и более раз. Тогда да, имеет смысл выносить в переменную. В остальном не вижу проблемы в том, что константы разбросаны по коду. Наоборот, это в какой-то мере плюс, потому что программисту не нужно прыгать к объявлению, он просто читает код. Но настаивать не буду, это лишь моё мнение.
Если очень хочется, то можно глобально объявить let defaultOptions = ..., а дальше по той же схеме подставлять по месту применения. Имхо.
Muranx, ну, есть правило соблюдать нормы русского языка, но оно рекомендательное. Зато грамотному человеку приятнее отвечать. Так что это просто выгодно.
olya_097, совпадение есть, должно всё работать: https://regex101.com/r/sWy4LW/1
Возможно, вы случайно вставили пробел до или после, тогда строка и правда будет не валидна.