2013-11-21 1 views
0
자바에서

이 코드는 좋은 프로그래밍 실습이라는 것을 알고 있지만 좋은 프로그래밍 실습이 있습니다. 은 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

무엇이 좋을까요? 안드로이드 내에서 메서드를 호출하는 것을 의미하는 경우 메서드 –

+0

을 보내는 대신 'i ++'로 간단하게 처리 할 수 ​​있다는 사실 외에도 완전히 괜찮습니다. 사실 실제로 바람직합니다. – Coderji

+0

더 좋은 예가 필요합니다. 여기에 표시된 내용은 단지 무의미한 것입니다. 어느 부분에 * 정확하게 * 질문하십니까? –

답변

0

당신은 어떤 눈에 띄는 성능 안타를 참조하지 않을거야, 내가 코드 아무것도 잘못된를 볼 수 있지만,이 개선 될 수에 대한

.

이 방법은 읽기가 훨씬 쉽게 그리고 약간의 코드 정리 : 또한 다음 심지어 필요한 이유를 궁금해 할

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

합니다. 변수의 값이 아닌 정수를 전달할 때 메서드 호출없이 초기화하는 것이 어떻습니까?

static int age = 11; 
+0

ahh 지금은 안드로이드를 사용할 때 코드가 더 간단한 aproach로 끝나면 성능 문제를 개선하기 위해 더 쉽고 간단하게 앤 객체를 사용하십시오. 더 단순한 것이 더 낫습니까? –

+0

기능이나 성능을 희생시키지 않으면 서 가능한 한 간단하게 코드를 작성해야합니다 (중요한 부분까지). 특정 예에서는 메소드 사용에 대한 요구 사항이 없으며 코드를 제거하면 코드를 훨씬 쉽게 이해할 수 있습니다. –

1

이 상황은 완벽하게 문제없이 성능에 영향을주지 않습니다.

개인적으로는이 연습에주의해야하지만 아직 초기화되지 않은 변수에 따라 메소드를 호출 할 수 있습니다. 그냥 나이 = 11을하지 왜 나는 또한

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; 
    } 
} 

문제가 정말이 간단한 경우

을 물어 보곤하지만,

+0

도움말 픽셀을 주셔서 감사합니다^_ ^ –