|
-13 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 368
|
||||||
Оптимальный алгоритм формирования констант при использовании их в в разных местах кода21.12.2024, 10:54. Показов 2212. Ответов 60
Метки нет (Все метки)
Подумал, не помешает обратиться за советом, м.б. кто-нибудь более умный подскажет вариант, который не увидел:
Формируются исходные данные, например массив регионов:
Возможно, потребуется данный массив отредактировать или добавить новый регион. Не могу решить вопрос, где и как размещать такие данные . Какие вижу варианты: • Объявлять в каждой функции как const ? Но, если их (данные) объявлять в каждой из них, есть вероятность, что где-то можно забыть внести исправления. • Во многих источниках написано, что использование глобальных переменных - плохой тон. Хотя сам и придерживаюсь иной точки зрения, но в данном случае (если такие данные не распространяются на весь код) считаю этот вариант неразумным (особенно, если таких данных м.б. много). • Использовать БД ? Вряд ли лучший вариант • Динамическая загрузка таких данных ? Но, опять же, если их много и они используются в разных местах кода будет ли она оптимальной ?
0
|
||||||
| 21.12.2024, 10:54 | |
|
Ответы с готовыми решениями:
60
lwjgl и баг(артефакты в разных местах при повторе одного и того же кода) lwjgl и баг(артефакты в разных местах при повторе одного и того же кода) Отображение кода в разных местах на разных разрешениях |
|
3827 / 1664 / 429
Регистрация: 14.03.2022
Сообщений: 4,179
|
|
| 21.12.2024, 13:06 | |
|
755, модули ты не используешь?
Как вообще выглядит твой код если данных в нем много, а так же есть "множество мест" где те данные применяются?
0
|
|
|
-13 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 368
|
||
| 21.12.2024, 14:35 [ТС] | ||
|
krvsa, если честно, не был знаком с понятием модули.
Прочитал на learn.javascript.ru в начале, что модули это файлы, хотел ответить, что в таком случае использую, но похоже все сложнее с данным термином и пока не готов ответить сразу на данный вопрос. Структура же моего кода (условная) примерно такая: index.html → *.html - новая страница для режимов (как объяснил один программист, страница для режима имеет свои плюсы в плане СЕО), либо какие-то режимы генерируются динамически самим js (если считаю такой способ удобнее) Примерно 90% кода составляет js в виде function (как правило небольшого формата), который разделяется в отдельные файлы *.js по каким-либо признакам (напр., принадлежности к определенному под-режиму). Js файлы 1-й очереди загружаются из html, а все остальные уже динамически из самих скриптов. Проблема же в том, что данный массив может выводиться разыми функциями из разных файлов. Такие данные могут быть разными по тематике и соответственно использоваться разными функциями - поэтому объединять их в один файл для динамической загрузки кажется неразумным. Надеюсь сумел понятно ответить ?
0
|
||
|
Заблокирован
|
|||||||
| 21.12.2024, 16:22 | |||||||
|
Добавлено через 2 минуты Вот так будет по-красивее
0
|
|||||||
|
3827 / 1664 / 429
Регистрация: 14.03.2022
Сообщений: 4,179
|
|
| 21.12.2024, 16:39 | |
|
755, если твой "код" представлен неким набором html и js файлов - тогда для такого рода данных можно делать свой, отдельный js файл.
Потом такие файлы можно будет подключать на нужных html страницах. Т.о. данные будут храниться в "едином" для всех "мест" файле.
0
|
|
|
-13 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 368
|
||||||
| 21.12.2024, 17:03 [ТС] | ||||||
|
barabar, по-моему неудачное предложение.
Допустим, у нас есть: 1.html, 2.html, 3.html и массивы констант
m_cnst_2 только в 1.html и 2.html в определенных функциях, которые м.б. запущены, а м.б и нет (соответственно тогда этот массив не будет использоваться) и т.д. для остальных массивов Если правильно понял, Вы предлагаете объявлять их (данные) как глобальные в одном файле, который уже подключать на каждой странице html. Если так: то, если весь список таких данных разместить в одном файле - каждый раз будут загружаться не используемая в данном html данные, но, если и используемые, то не факт, что потребуются конкретному Пользователю во время сеанса. Добавлено через 6 минут krvsa, спасибо за ответ, но как только что ответил barabarУ, единый файл не подходит по причине лишней информации, которая может оказаться и невостребованной. Но м.б. я неправ и этот объем лишних данных несущественен и не будет серьезно влиять на скорость загрузки и объем занимаемой памяти впустую ?
0
|
||||||
|
3827 / 1664 / 429
Регистрация: 14.03.2022
Сообщений: 4,179
|
||
| 21.12.2024, 17:07 | ||
![]() Если "может быть использован" - придется подключать. В противном случае тебе придется такие данные хранить в json и использовать асинхронное получение таких данных "по мере надобности". Но не факт что ты уже умеешь программировать на таком уровне.
0
|
||
|
-13 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 368
|
|
| 21.12.2024, 17:09 [ТС] | |
|
Но, если правильно понял, других решений (из оптимальных) быстрей всего нет: либо разместить такие данные в одном файле, либо в каждой функции объявлять их как локальные с ведением реестра таких данных на предмет корректировки ?
0
|
|
|
3827 / 1664 / 429
Регистрация: 14.03.2022
Сообщений: 4,179
|
|||
| 21.12.2024, 17:11 | |||
![]() Я предлагал на каждую "единицу данных" заводить свой файл. Т.о. у тебя будет больше возможностей для маневра. Далее тебе придется использовать модули... Либо применять асинхронную загрузку данных. ![]() Добавлено через 46 секунд
1
|
|||
|
-13 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 368
|
||
| 21.12.2024, 17:18 [ТС] | ||
|
Но как мне казалось, данные решения не были бы лучшими для описанной выше проблемы
0
|
||
|
Заблокирован
|
||
| 21.12.2024, 17:28 | ||
![]()
0
|
||
|
-13 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 368
|
|||
| 21.12.2024, 17:31 [ТС] | |||
|
Пока правда не следую его совету и использую переменное количество файлов (по необходимости). НО! Разумно ли каждую единицу данных (в частности, массив с двумя - 4 элементами) держать в одном файле по причине того, что при асинхронной загрузке таких данных происходит обращение на сервер и для каждого файла будет формироваться отдельный такой запрос ?
0
|
|||
|
3827 / 1664 / 429
Регистрация: 14.03.2022
Сообщений: 4,179
|
|||
| 21.12.2024, 17:42 | |||
![]() Камрад barabar написал про один файл - не, мне такое не нужно. Я предлагаю делать несколько файлов - та же история. Оно конечно тебе видней... Лапти твои - тебе плести и тебе же их носить. ![]() Добавлено через 1 минуту
1
|
|||
|
Заблокирован
|
||
| 21.12.2024, 17:43 | ||
|
1
|
||
|
3827 / 1664 / 429
Регистрация: 14.03.2022
Сообщений: 4,179
|
||
| 21.12.2024, 17:45 | ||
|
Возможно я тебе пишу про одно, а ты понимаешь это иначе.
0
|
||
|
-13 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 368
|
||||||||||
| 21.12.2024, 18:02 [ТС] | ||||||||||
|
Добавлено через 7 минут
0
|
||||||||||
|
Заблокирован
|
|
| 21.12.2024, 18:09 | |
|
0
|
|
|
-13 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 368
|
|||
| 21.12.2024, 18:11 [ТС] | |||
|
Добавлено через 39 секунд
0
|
|||
|
Заблокирован
|
|||
| 21.12.2024, 18:15 | |||
|
https://genius.com/ Знаю, что таких сайтов полно. Да хотя бы глянь в исходный код страницы гугла. Только когда будешь смотреть, поставь галочку "Переносить строки"
1
|
|||
|
-13 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 368
|
||
| 21.12.2024, 18:24 [ТС] | ||
|
Понравилась скорость вывода страниц сайта. Основной вывод: оптимизация - хорошо, но для скорости видимо не самое главное.
0
|
||
| 21.12.2024, 18:24 | |
|
Помогаю со студенческими работами здесь
20
Изменение глобальных констант при разных процедурах Ошибка при использовании WordApplication для формирования отчета Построить несколько графиков параметрически заданной функции при разных значениях констант а, b, λ Как построить несколько графиков параметрически заданной функции при разных значениях констант а, b, λ Построить несколько графиков параметрически заданной функции при разных значениях констант а, b, λ. Оси графика – х и y, которые зависят от аргумен Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|