1 / 1 / 1
Регистрация: 28.04.2013
Сообщений: 35
|
|||||||||||||||||||||
Проверьте пожалуйста реализацию кода [Мини-скрипт язык]22.10.2014, 05:21. Показов 580. Ответов 6
Метки нет Все метки)
(
Встала задача создать структурный язык на подобие xml, для передачи и приёма данных в моём протоколе..
Собственно что должно получится: 1. Язык должен иметь теги <>. 2. Между двумя тегами должны хранится данные. 3. По выбору тега, должны возвращаться данные. В итоге получилось это:
Хейдер: Кликните здесь для просмотра всего текста
Private: Кликните здесь для просмотра всего текста
Первый минус который я нашел, это фиксированный размер буффера, но если его делать динамическим, возникает ряд проблем, но всё же сделаю позже его фиксированным. Хорошо ли с производительностью? Не где не ошибся? Вроде более 1000 тегов грузились мгновенно.. Заранее спасибо..
0
|
22.10.2014, 05:21 | |
Ответы с готовыми решениями:
6
Проверьте скрипт пожалуйста. Пожалуйста, проверьте, есть ли ошибки в приведённом куске кода. Вычисление значения по формуле (пожалуйста, проверьте правильность кода) |
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
||||||||||||
22.10.2014, 07:42 | ||||||||||||
Теперь к коду. Прежде всего, пройтись с заменой s/teg/tag/. Уже тут неконсистентность в именовании: Чтобы ответить на этот вопрос, достаточно покрыть код тестами. Что произойдет, если не подавать на вход конфиг, но попытаться получить значение? Если подать пустой конфиг? Если подать невалидный конфиг? Вроде бы ни в одном случае ничего не падает, но проявляется одна проблема: в случае невалидного конфига нет механизма сообщений об ошибке. И еще замечание. Функции возвращают 1, 0, -1 для сообщения о результате выполнения. лучше использовать именованые константы. Или бросать исключения.
1
|
1 / 1 / 1
Регистрация: 28.04.2013
Сообщений: 35
|
||||||||
22.10.2014, 09:15 [ТС] | ||||||||
Спасибо за ваш пост!
![]() Еще раз спасибо!
0
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|||||
22.10.2014, 09:29 | |||||
Пример. Вот такой конфиг совершенно спокойно принимается парсером. <login>0x10<pass>42<pass>. И при запросе pass возвращается именно 42. При запросе login - не получим ничего. Нелогично. Если данные были невалидны, то по хорошему мы не должны ничего делать. 1. Состояние имеет смысл только непосредственно после вызова функции. Следовательно, нужно контролировать его использование. 2. Не подходит для случаев, когда объект разделяется несколькими потоками. Конкретно здесь ни то, ни другое, возможно, и не проявит себя.
0
|
1 / 1 / 1
Регистрация: 28.04.2013
Сообщений: 35
|
||||
22.10.2014, 09:45 [ТС] | ||||
Пруф: http://c2n.me/j8hpbK В других проектах как-то не обращал внимания..
0
|
1 / 1 / 1
Регистрация: 28.04.2013
Сообщений: 35
|
||
22.10.2014, 10:00 [ТС] | ||
![]()
0
|
22.10.2014, 10:00 | |
Помогаю со студенческими работами здесь
7
Проверьте реализацию бинарного поиска Silverlight - геометрический мини-язык в коде
Не могу понять реализацию кода Вынеси реализацию в файл кода Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров
Programma_Boinc 21.04.2025
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров.
3 марта 2025 года, в результате обобщенного поиска простых чисел Ферма в PrimeGrid был найден. . .
|
Система статов в Unity
GameUnited 20.04.2025
Статы — фундаментальный элемент игрового дизайна, который определяет характеристики персонажей, предметов и других объектов в игровом мире. Будь то показатель силы в RPG, скорость передвижения в. . .
|
Статические свойства и методы в TypeScript
run.dev 20.04.2025
TypeScript прочно занял своё место в системе современной веб-разработки. Этот строго типизированный язык программирования не просто расширяет возможности JavaScript — он делает разработку более. . .
|
Batch Transform и Batch Gizmo Drawing API в Unity
GameUnited 20.04.2025
В мире разработки игр и приложений на Unity производительность всегда была критическим фактором успеха. Создатели игр постоянно балансируют между визуальной привлекательностью и плавностью работы. . .
|
Звук в Unity: Рандомизация с Audio Random Container
GameUnited 20.04.2025
В современных играх звуковое оформление часто становится элементом, который либо полностью погружает игрока в виртуальный мир, либо разрушает атмосферу за считанные минуты. Представьте: вы исследуете. . .
|
Максимальная производительность C#: Советы, тестирование и заключение
stackOverflow 20.04.2025
Погружение в мир микрооптимизаций C# открывает перед разработчиком целый арсенал мощных техник. Но как определить, где и когда их применять? Ответ начинается с точных измерений и профилирования.
. . .
|
Максимальная производительность C#: Предсказание ветвлений
stackOverflow 20.04.2025
Третий ключевой аспект низкоуровневой оптимизации — предсказание ветвлений. Эта тема менее известна среди разработчиков, но её влияние на производительность может быть колоссальным. Чтобы понять. . .
|
Максимальная производительность C#: Векторизация (SIMD)
stackOverflow 20.04.2025
Помимо работы с кэшем, другим ключевым аспектом низкоуровневой оптимизации является векторизация вычислений. SIMD (Single Instruction, Multiple Data) позволяет обрабатывать несколько элементов данных. . .
|
Максимальная производительность C#: Процессорный кэш
stackOverflow 20.04.2025
Знакомство с внутренним устройством процессорного кэша — ключевой шаг в написании по-настоящему быстрого кода на C#. Этот слой архитектуры компьютера часто ускользает от внимания разработчиков, но. . .
|
Максимальная производительность C#: Введение в микрооптимизации
stackOverflow 20.04.2025
В мире разработки на C# многие привыкли полагаться на . NET Runtime, который "магическим образом" сам оптимизирует код. И часто это работает - современные JIT-компиляторы творят чудеса. Но когда речь. . .
|