Creative+ Несколько предложений по улучшению кода C+

astr34

Эксперт
Регистрация
16 Июл 2023
Сообщения
18
[1]. Добавить возможность получать реальное время
Причина: невозможно реализовать авто-обновляемый ежедневный бонус.

[2]. Расширить математические функции:
1. добавить возведение в степень, корни
2. abs (модуль числа)
3. div (целая часть после деления)
4. тригонометрию (sin, cos).
Причины:
1, 2, 3 - неудобно, несколько блоков кода, повышенная нагрузка по операциям
4 - очень неудобно, очень много блоков кода, очень высокая нагрузка по операциям если не переносить рассчитанные значения в массив (и всё равно потребуется код, если значения угла выходят за пределы расчитанных); высокая нагрузка на сервер, если перенести значения в массив (особенно в случаях, если нужно рассчитывать место спавна снаряда для скорострельного оружия, чтобы он не взорвался в игроке - такой код может вызываться очень часто).


[3]. Добавить возможность функциям "поставить блок" и "заполнить область блоками" брать блок из переменной.
Причина: неадекватное количество блоков кода для заполнения территории случайными блоками (SkyGrid, автошахт) используя функцию "поставить блок"; неадекватное время заполнения из за ограничения в 10 оп/с, если установить эти блоки в мире в какой-то области, используя случайные числа рассчитать местоположение случайного блока и копировать его в место установки.

[4]. Добавить переменные с областью видимости в пределах строки кода, параметр "локальности" можно добавить/убрать, например, на Shift+ЛКМ; Локальные и глобальные переменные - разные переменные. Сделать, чтобы функция могла принимать и возвращать значения:
- GUI у самого блока функции, куда можно занести локальные переменные, которые принимает функция
- Действие "Вернуть значения" - GUI, куда можно занести локальные переменные, которые возвращает функция
- GUI у блока вызова функции после выбора функции, куда можно занести переменные, в которые нужно записать результат функции

Причины:
- очень неудобно именовать промежуточные переменные имя_функции_название или событие_название в надежде, что такая переменная больше нигде не используется (особенно когда кодом уже забито несколько этажей).
- очень неудобно возиться с кучей переменных по типу имя_функции_in_название_параметра, имя_функции_out_название_параметра во всех местах, где нужно вызвать функцию. Огромная куча лишних блоков кода, сильная нагрузка по операциям.


[5]. Сделать YAW всегда положительным. Так и не понял для чего было так сделано, может быть это баг.

Причина: Меньше шаблонного кода (Если YAW < 0: YAW += 360)

[6]. Сортировать названия функций в меню выбора функций в лексикографическом порядке.

Причина: функции, отличающиеся одной цифрой/буквой на конце, могут находиться в разных местах страницы или на разных страницах.

Спасибо за прочтение. Список возможно буду дополнять.
 
Последнее редактирование:

MihaelShield

Участник
Регистрация
3 Май 2023
Сообщения
7
Жаль, ничего не понял, но ладно.
 

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
351
3. div (целая часть после деления)
зачем, это есть уже, просто делишь число и округляешь к меньшему, 1 блок не нагрузит твой код до краша игры)
[1]. Добавить возможность получать реальное время
Причина: невозможно реализовать авто-обновляемый ежедневный бонус.
норм
[4]. Добавить переменные с областью видимости в пределах строки кода, параметр "локальности" можно добавить/убрать, например, на Shift+ЛКМ; Локальные и глобальные переменные - разные переменные. Сделать, чтобы функция могла принимать и возвращать значения:
  • GUI у самого блока функции, куда можно занести локальные переменные, которые принимает функция
  • Действие "Вернуть значения" - GUI, куда можно занести локальные переменные, которые возвращает функция
  • GUI у блока вызова функции после выбора функции, куда можно занести переменные, в которые нужно записать результат функции
все мы понимаем, что этого не будет
[5]. Сделать YAW всегда положительным. Так и не понял для чего было так сделано, может быть это баг.
это уже нотч начудил
[6]. Сортировать названия функций в меню выбора функций в лексикографическом порядке.
я так понял, там вообще в разноброс это всё, я никогда среди 3-х страниц функций не найду логику распределения
 

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
351
4 - очень неудобно, очень много блоков кода, очень высокая нагрузка по операциям если не переносить рассчитанные значения в массив (и всё равно потребуется код, если значения угла выходят за пределы расчитанных); высокая нагрузка на сервер, если перенести значения в массив (особенно в случаях, если нужно рассчитывать место спавна снаряда для скорострельного оружия, чтобы он не взорвался в игроке - такой код может вызываться очень часто).

4. тригонометрию (sin, cos).
мы этого дождались
 
Сверху