:6.코드 재 구성[6.6 임시 변수 분해]-split Temporary Valiable(128)

9678 단어 독서 노트Java
만약 지금 이러한 코드 가 있다 면:
double temp = 2 * (height + weight);
System.out.println("   " + temp);
temp = height * weight;
System.out.println("   " + temp);

이 코드 를 보면 한자 주석 을 보지 않 으 면 모든 공식 이 무엇 을 하 는 지 쉽게 생각 나 지 않 습 니까?우 리 는 지금 재 구성 하고 싶 은 충동 이 생 긴 다.모든 변 수 를'이름 을 보고 그 뜻 을 안다'는 임시 변수 로 설명 합 니 다.수 정 된 코드 는 다음 과 같 습 니 다.
double circumference = 2 * (height + weight);
System.out.println("   " + circumference);
double area = height * weight;
System.out.println("   " + area);

변수
임시 변 수 는 몇 가지 용도 가 있 습 니 다.
  • 순환 변수,예 를 들 어 for(int i=0;i < 100; i++)의 i 는 순환 변수 에 속 합 니 다.i++도 결과 수집 변수 에 속 합 니 다

  • 4.567917.결과 수집 변 수 는 특정한 결 과 를 여러 번 누적 수집 합 니 다
    4.567917.특정한 값 을 임시로 저장 합 니 다.예 를 들 어 특정한 변 수 는 특정한 계산 과정 에서 얻 은 결 과 를 저장 하고 미래의 사용 을 제공 합 니 다
    임시 변 수 를 분해 하 는 원칙 은:
  • 분 해 를 기다 리 는 임시 변수 성명 에서 이름 을 수정 하고 final 로 수식 합 니 다

  • 4.567917.이 임시 변수 가 있 는 배 고 픈 두 번 째 대 가 는 수정 점 입 니 다.수정 하기 전에 이 임시 변수 에 대한 인용 은 새로운 이름 을 가 리 킵 니 다
    4.567917.두 번 째 성명 에서 이 변 수 를 다시 설명 하고 이 변 수 를 인용 한 배 고 픈 곳 을 새로운 성명 의 변수 로 수정 합 니 다
    4.567917.모든 변수 가 분 해 될 때 까지 1,2,3 을 순환 합 니 다
    다음은 예 코드 입 니 다.우 리 는 한 걸음 한 걸음 수정 합 니 다.
    double getCalculateResult(int times) {
        int initialValue = 100;
    	double average = initialValue / time;
    	double result = 0.0;
    	if (time > 0) {
    	  	double redouble = average * i;
    	  	average = (redouble + i * i)/i;
    	  	result += average * (i-1);
    	}
    	return result;
    }
    

    첫 번 째 단계:현재 average 변 수 는 중복 사용 되 었 습 니 다.average 를 primary Average 로 다시 정의 합 니 다.수 정 된 코드 는 다음 과 같 습 니 다.
    double getCalculateResult(int times) {
        int initialValue = 100;
    	final double primaryAverage = initialValue / time;
    	double result = 0.0;
    	if (time > 0) {
    	  	double redouble = primaryAverage * i;
    	  	double average = (redouble + i * i)/i;
    	  	result += average * (i-1);
    	}
    	return result;
    }
    

    두 번 째 변수 도 계속 다시 정의 합 니 다.
    double getCalculateResult(int times) {
        int initialValue = 100;
    	final double primaryAverage = initialValue / time;
    	double result = 0.0;
    	if (time > 0) {
    	  	double redouble = primaryAverage * i;
    	  	final double secondAverage = (redouble + i * i)/i;
    	  	result += secondAverage * (i-1);
    	}
    	return result;
    }
    

    이렇게 보니까 좋 지 않 아 요?

    좋은 웹페이지 즐겨찾기