Называем вещи своими именами

Называем вещи своими именами

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

Но, если по форматированию кода можно найти сотни ресурсов, например этот, то по терминологии в Javascript, и, тем более, ModPE, в Интернете практически нету. Постараемся исправить эту прореху.

Начнем с наших любимых «Функций», например useItem, attackHook или modTick. Правильно ли их называть «функциями»?

С одной стороны, это и правда функции. Они объявляются как обычные функции, могут вызываться в коде. Странный пример:

1
2
3
4
5
6
7
function useItem(x,y,z,itemid,blockid,side,itemDamage,blockDamage) {
    destroyBlock(x, y, z);
}
 
function destroyBlock(x,y,z) {
    print("Block destroyed");
}

Но достаточно яркий. Сообщение о том, что блок был разрушен, выводится как при реальном разрушении любого блока, так и при тапе по нему. Внимание! Никогда не пишите то, что я тут написал, в реальном коде!

На самом деле, такие функции — замена Listner’ам в таком языке программирования, как Java, и обытейной модели в .net (c#). Американцы называют такие конструкции хуками (hook — ловушка), поэтому в ModPE принято называть их хуками или ловушками. Функцииями следует называть объявленные вами куски кода

Пример реальной функции:

1
2
3
4
5
6
7
function useItem(x,y,z,itemid,blockid,side,itemDamage,blockDamage) {
    doSmth(x, y, z);
}
 
function doSmth(x,y,z) {//вот это полноценная функция
    setTile(x, y, z, 1, 0);
}

Но это еще не все. Реже всего используется такой термин, как метод. Методы — функции, выполняющие действие внутри объекта. Примерами методов являются все функции, которые пишутся с (.). Например, Level.getTile, Block.defineBlock и т. д.

При этом первую часть мы назовем классами или пространствами имен, так как они обеспечивают объединение похожих по назначению методов в одном месте, в одном пространстве. Это и обеспечивает инкапсуляцию (будет статья на эту тему, ждите).

Еще одно слово, которое мы используем очень часто и неправильно — это аббревиатура API. Для начала расшифруем ее — API — Application Programming Interface. Исходя из заголовка, апи — это способ запрограммировать уже написанную программу, или, в нашем случае, мод. То есть API — средство создания дополнений для модов, но никак не внутренние объекты, облегчающие его структуру. Так же это слово применяется в слово сочетании ModPE API — API, необходимое для программирования среды BlockLauncher, Android API — нужен для создания программ для ос android.

Я надеюсь, что с этого момента мы станем лучше понимать друг друга и других программистов 🙂

Запись опубликована в рубрике ModPE. Добавьте в закладки постоянную ссылку.

Comments

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *