Как преобразовать имена API в переменные для облегчения кодирования

0

Я ищу способ превратить некоторые длинные и запутывающие имена функций API в более короткие типы, чтобы уменьшить количество ввода и все ошибки из-за неправильной орфографии.

Например: я хотел бы взять gtk_functionName(); и сделать его такой переменной. doThis = gtk_functionName;

Иногда код будет иметь много повторяющегося суффикса. Я хочу знать, могу ли я взять этот g_signal_connect_ и превратить его в это connect чтобы я мог просто ввести connectswapped вместо g_signal_connect_swapped.

Я хочу сделать это в C\C++, но буду рад узнать, как это делается на любом языке. Я думал, что видел код, который делал это раньше, но я не могу понять, что это будет вызвано, поэтому поиск его был бесплодным.

Я уверен, что это возможно, и я просто не могу вспомнить, как это делается.

  • 0
    Вы смотрели на функциональные указатели
  • 0
    @user814628: user814628: учитывая многословие синтаксиса указателей на функции, лекарство будет хуже, чем болезнь (если у вас не будет тонны обращений к одной и той же функции или если вы не используете C ++ 11 auto ).
Показать ещё 2 комментария
Теги:

1 ответ

0

Я считаю, что то, что вы хотите сделать, это применить шаблон фасада, который представляет собой упрощенный интерфейс для более крупного и сложного кода.

В основном это означает, что вы определяете свои собственные упрощенные интерфейсы для требуемых функций. Реализация этих интерфейсов использует более сложные пакеты, которые вы хотите упростить. После этого остальная часть вашего кода использует упрощенные интерфейсы вместо сложного пакета.

void doThis (That *withThat) {
    gtk_functionName(withThat->arg1, withThat->arg2 /* etc. */);
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню