2013-11-21 51 views
0

在Java我知道这段代码是一个很好的编程习惯, ,但我读了一些文章,有很好的编程实践, 是坏的Android,我只是想知道这种类型的代码 可以影响应用性能问题时它涉及到android编程?这是Android的糟糕编程习惯吗?

例如

public class Main { 

    static int age = getAge(10); /***************** THIS LINE */ 

    public static void main(String[] args) { 
     System.out.println(age); 
    } 

    private static int getAge(int i) { /***************** THIS METHOD */ 
     i = i + 1; 

     return i; 
    } 
} 
+1

有什么可能是坏的?除了你可以简单地用'i ++'而不是发送一个方法 –

+0

这个事实,如果你的意思是在android中调用方法,它是完全正确的,实际上它是可取的。 – Coderji

+0

你需要一个更好的例子。你在这里展示的东西毫无意义。你究竟在询问哪一部分? –

回答

0

你不会看到任何明显的性能命中,而我什么都看不到的代码,但它可以改善。

这个方法是一个更容易阅读和清理代码一点:

private static int getAge(int i){ 
    return i++; 
} 

您还那么就得想知道为什么你甚至需要它。当你传递一个整数而不是一个变量的值时,为什么不在没有方法调用的情况下进行初始化呢?

static int age = 11; 
+0

啊我现在明白了,当使用android时,如果代码将以简单的方式完成,那么使用ann对象的更简单和更少的使用来改善性能问题。更简单的是更好的权利? –

+0

您应该始终尽可能简化代码,而不会牺牲功能或性能(至关重要)。在你的特定例子中,没有任何要求使用该方法,并且删除它使代码更容易理解。 –

1

这种情况看起来非常好,不会影响性能。

虽然我个人会小心这种做法,但您可能会调用一个依赖于尚未初始化的变量的方法。

public class Main { 

    static int age = getDogYears(10); 
    int dogRatio; // dogRatio is not yet initialized 

    public static void main(String[] args) { 
     System.out.println(age);    

     dogRatio = 7; 
    } 

    private static int getDogyears(int i) { 
     i = i * dogRatio; // null pointer exception because dogRatio is not initialized 

     return i; 
    } 
} 

如果问题真的这么简单,但我也会问,为什么你不会让年龄= 11;

+0

感谢帮助像素^ _ ^ –

相关问题