减少方法中的冗余

时间:2019-01-27 13:54:56

标签: java object helper redundancy helpermethods

我有一个带有抽象方法的Enum,枚举中的每种情况都实现了此方法。但是,在每个实现中,变量声明总是相同的,因此我最终有很多冗余。

public FSA next(Player targetPlayer, Player bot, double prevDist, double newDist) {
      Melee tmp;
      double weaponRange = (bot.getHolding().isGun()) ? Double.POSITIVE_INFINITY :
          (tmp = (Melee) bot.getHolding()).getRange();
      int ammoLeft = (bot.getHolding().isGun()) ? bot.getHolding().getAmmo() : 0;

      int botHealth = bot.getHealth();
      int enemyHealth = targetPlayer.getHealth();

      ...
    }

减少这种冗余的最佳方法是什么?我最初的想法是创建一个辅助方法private Object[] getInfo(Player target, Player bot),该方法将返回带有所需变量的数组。但是对我来说,这似乎不太干净,最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

使所有变量成为新实用程序类的一部分。在带有初始化函数的基类上提供一个受保护的方法。