Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Dismiss Notice

Помогите О необходимости создания переменных

Discussion in 'Разработка плагинов для новичков' started by Korvinius, Feb 27, 2015.

  1. Автор темы
    Korvinius

    Korvinius Активный участник Пользователь

    Trophy Points:
    88
    Знаю что оба варианта рабочие, но все же, хочу узнать как правильно/лучше/необходимо, ну, например есть ли необходимость создавать переменные в таких случаях:
    Code:
            InventoryAction invact = event.getAction();
            InventoryType inventory = event.getInventory().getType();
            if (inventory == InventoryType.ANVIL) {
                    if (invact == InventoryAction.MOVE_TO_OTHER_INVENTORY
                            || invact == InventoryAction.PICKUP_ALL
                            || invact == InventoryAction.PICKUP_HALF
                            || invact == InventoryAction.PICKUP_ONE
                            || invact == InventoryAction.PICKUP_SOME
                            || invact == InventoryAction.SWAP_WITH_CURSOR) {
    или можно так:
    Code:
            if (event.getInventory().getType() == InventoryType.ANVIL) {
                    if (event.getAction() == InventoryAction.MOVE_TO_OTHER_INVENTORY
                            || event.getAction() == InventoryAction.PICKUP_ALL
                            || event.getAction() == InventoryAction.PICKUP_HALF
                            || event.getAction() == InventoryAction.PICKUP_ONE
                            || event.getAction() == InventoryAction.PICKUP_SOME
                            || event.getAction() == InventoryAction.SWAP_WITH_CURSOR) {
    на что то влияют в подобных случаях дополнительные переменные, они нужны или наоборот, они лишние?
     
  2. Хостинг MineCraft
    <
  3. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    В данном случае - значения не имеет, т.к. переменные объявляют как минимум для удобства написания, чтобы не воротить каждый раз длиннючих конструкций вроде event.getWhoclicked().getInventory().setItem(...), и кошерности кода.
     
  4. Автор темы
    Korvinius

    Korvinius Активный участник Пользователь

    Trophy Points:
    88
    спасибо.
     
  5. LaoTheLizard

    LaoTheLizard Старожил Пользователь

    Trophy Points:
    103
    Skype:
    sgp_the_controller
    Дополнительные переменные стоит объявлять, если в коде ты собираешься их использовать три и более раз.
     
  6. saharin94

    saharin94 Старожил Пользователь Заблокирован

    Trophy Points:
    173
    Skype:
    RikkiLooh
    Имя в Minecraft:
    RubukkitDniwe
    Старайтесь делать так, чтобы у Вас один и тот же код не выполнялся десятки раз (при условии, что обрабатываемые данные в каждом вызове не меняются).
     
  7. Reality_SC

    Reality_SC Старожил Пользователь

    Trophy Points:
    123
    Имя в Minecraft:
    Reality_SC
    Нужно писать так, чтобы было меньше вызовов методов. Представь, что один вызов -- работает секунду. Код с переменными более понятен и прост, легче отлаживается (более детальные шаги дебага + более точно указание места ошибки при выбрасывании исключений).
    Замечу дополнительно, что тот здоровенный if ещё можно заменить на switch(event.getAction()) {...} (все case ловят то, что нужно, default остальное).
     

Share This Page