Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

Korvinius

Активный участник
Пользователь
Баллы
88
Знаю что оба варианта рабочие, но все же, хочу узнать как правильно/лучше/необходимо, ну, например есть ли необходимость создавать переменные в таких случаях:
Java:
        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) {
или можно так:
Java:
        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) {
на что то влияют в подобных случаях дополнительные переменные, они нужны или наоборот, они лишние?
 
Знаю что оба варианта рабочие, но все же, хочу узнать как правильно/лучше/необходимо, ну, например есть ли необходимость создавать переменные в таких случаях:
Java:
        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) {
или можно так:
Java:
        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) {
на что то влияют в подобных случаях дополнительные переменные, они нужны или наоборот, они лишние?
В данном случае - значения не имеет, т.к. переменные объявляют как минимум для удобства написания, чтобы не воротить каждый раз длиннючих конструкций вроде event.getWhoclicked().getInventory().setItem(...), и кошерности кода.
 
В данном случае - значения не имеет, т.к. переменные объявляют как минимум для удобства написания, чтобы не воротить каждый раз длиннючих конструкций вроде event.getWhoclicked().getInventory().setItem(...), и кошерности кода.
спасибо.
 
Старайтесь делать так, чтобы у Вас один и тот же код не выполнялся десятки раз (при условии, что обрабатываемые данные в каждом вызове не меняются).
 
Нужно писать так, чтобы было меньше вызовов методов. Представь, что один вызов -- работает секунду. Код с переменными более понятен и прост, легче отлаживается (более детальные шаги дебага + более точно указание места ошибки при выбрасывании исключений).
Замечу дополнительно, что тот здоровенный if ещё можно заменить на switch(event.getAction()) {...} (все case ловят то, что нужно, default остальное).
 

Поделиться этой страницей

Назад
Верх