아이템57 지역변수의 범위를 최소화하라
Effective Java 3e 아이템 57를 요약한 내용 입니다.
Last updated
public void calculate() {
int b = 2;
int c = 3;
b = b + c;
c = c + c;
...
int a = b + c;
}public void calculate() {
Person person = new Person();
...
person.setName("incheol");
person.setAge(20);
}public void calculate() {
Person person = new Person("incheol", 20);
...
}Iterator<Element> i = c.iterator();
while (i.hasNext()) {
doSomething(i.next());
}
...
Iterator<Element> i2 = c2.iterator();
while (i.hasNext()) {
doSomething(i2.next());
}for (Iterator<Element> i = c.iterator(); i.hasNext()) {
doSomething(i.next());
}
...
// 다음 코드는 "i를 찾을 수 없다"는 컴파일 오류를 낸다.
while (Iterator<Element> i2 = c2.iterator(); i.hasNext()) {
doSomething(i2.next());
}// case1. 하나의 메소드에 여러 기능을 포함한 경우
public void buy() {
// 아이템의 가격을 확인한다.
// 아이템의 할인 정책을 적용한다.
// 사용자의 보유 금액을 아이템 가격만큼 차감한다.
}
// case2. 기능단위로 메소드를 쪼개서 사용한 경우
public void buy() {
아이템_가격_확인()
아이템_할인_정책_적용()
사용자_보유_금액_차감()
}
public Long 아이템_가격_확인() {
...
}
public void 아이템_할인_정책_적용() {
...
}
public void 사용자_보유_금액_차감() {
...
}