我怎么知道什么时候停止模块化我的代码?

时间:2020-04-14 22:19:25

标签: java theory modularity modular-design

我不确定这是否是一件值得担心的重要事情,但是我想在学习编程的同时发展良好的实践,并尽可能减少怀疑。我想,在学习的同时,还要学一点理论。

**尽管这部分代码专注于客户端,但目前正在学习Java,尤其是类。

因此,目前正在研究机会游戏。 基本上,两个人从一定的点预算开始。他们每个人都掷骰子,更高的骰子获胜。获胜者获得其预算的差额,而失败者获得从其预算中扣除的差额。游戏一直进行到一个玩家的预算不再有任何积分为止。

这就是代码。 这是我想出的一种解决方案的两种变体,很难确定可以说哪个更好。

    public static int allocatePoints(int balance, int points){
         balance = balance + points;
         return balance; 
    }
-----------------------------------------------------------------------------------------

             int points = Math.abs(die1.getFaceValue() - die2.getFaceValue());
         if(points == 0){
             System.out.println("Draw!\n");
             continue;
         }
         if(die1.getFaceValue()>die2.getFaceValue()){
         balance1 = allocatePoints(balance1, points);
         balance2 = allocatePoints(balance2, -points);
         } else {
            balance1 = allocatePoints(balance1, -points);
            balance2 = allocatePoints(balance2, points);
         }
         if(balance1 < 0){
            balance1 = 0;
         } 
         if(balance2 < 0){
             balance2 = 0;
         }
=========================================================================================
=========================================================================================
        int difference = Math.abs(die1.getFaceValue() - die2.getFaceValue());
        if(die1.getFaceValue()>die2.getFaceValue()){
           balance1 = balance1 + difference;
           balance2 = balance2 - difference;
        } else if(die2.getFaceValue()>die1.getFaceValue()){
           balance1 = balance1 - difference;
           balance2 = balance2 + difference;
        } else {
           System.out.println("Draw!");
        }

        if(balance1 < 0){
           balance1 = 0;
        } 
        if(balance2 < 0) {
           balance2 = 0;
        }

在我看来,第二段代码是一个更合理的选择,因为它很简单,而且以另一种方式似乎毫无意义-考虑到我正在做的事情是否定一个值。不过,那是我开始感到困惑的地方。

0 个答案:

没有答案