Называем вещи своими именами
Называем вещи своими именами
Большинство начинающих (а зачастую и не совсем начинающих) программистов не обращают внимание на правильность использования терминологии, оформления кода и так далее. Пока код небольшой, а разработчик один, такой подход может быть подходящим, но когда несколько программистов сходятся в одном месте, а особенно садятся за один и тот же проект, правильное форматирование кода и тем более правильная терминология станут лучшим мостом для совместной разработки.
Но, если по форматированию кода можно найти сотни ресурсов, например этот, то по терминологии в 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.
Я надеюсь, что с этого момента мы станем лучше понимать друг друга и других программистов 🙂
Comments