Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

FAQ Неправильное/некорректного использование макросов

Вам приятно разбираться в коде который содержит некорректные макросы?

  • Да

  • Нет

  • Пофиг

  • Не знаю


Результаты будут видны только после голосования.

shierru

Умник
Здравствуйте, хочу поговорить об неправильном использовании макросов.

По течению данного урока будет приведено достаточно примеров неправильного/некорректного использования макросов.


Бессмысленные сокращения наименований функций
C++:
#define SCM SendClientMessage
SCM(playerid, 0xFFFFFFFF, "What. Зачем?");
Сколько работы это экономит?

Ответ: нисколько, написать SendClientMessage не составит большого времени.
Многие даже не знают очень простых Pawn конструкций, а некоторым данное бесполезное сокращение выступит как осложнение при чтение кода.
Сейчас очень много редакторов кода которые имеют возможность добавления своих code-snippets.


Нестандартный синтаксис
C++:
#define User:: User_
User::Spawn(playerid);
Идентичный вопрос как в прошлом примере. Сколько работы это экономит?

Ответ: нисколько, хуже того Вы потратите больше усилий чтобы писать подобный код.
Так же не при использование редактора кода Pawno, данный макрос может нарушить автозаполнение которое добавляет редактор кода.
Не понимаю зачем добавлять не стандартный синтаксис в язык программирования если он точно там не нужен и не даст никаких плюсов кроме неразберихи.

C++:
if (!IsLogged(playerid)) *then
    return Kick(playerid);
Стоит ли это использовать?

Ответ: нет, не стоит.
Поправка: это не макрос, но я всё равно решил его включить в данную тему, чтобы дать больше понимания, что конкретно является нестандартным синтаксисом.


В завершение скажу, что каждый может делать как хочет. И я не вправе никого заставлять придерживаться к моему мнению.

В данной теме я даю основные претензии к некоторым макросам которых люди используют в своём игровом режиме. Если поискать, то можно найти очень большое количество глупых/ненужных макросов.

Хочу попросить Вас если занимаетесь open source проектом или написанием какой-то системы и собираетесь опубликовать её исходный код.
Не использовать те вещи которые вредят чтению кода, пониманию кода и всячески осложняют коммуникации с другими разработчиками.
 
Последнее редактирование:
Сверху Снизу