donaricano-btn

effectiveJava - for문보다는 for-each문 사용


1. while 문의 헛점

- 지역변수의 유효범위로 인하여 copy-and-paste 버그의 확률이 높다

- 처음에 설정된 변수 i 를 다음 while 문에도 사용함


2. for, for-each 형태

1) 1.5 이전 버전

2) 배열순회

3) 1.5 이후 권장(컬렉션, 배열 순회)


3. 왜 for-each 인가

- for 문과 성능은 비슷하지만 상황에 따라 나은 성능을 보이기도 한다.

- 중첩 순환문을 만들 시 좋다.(버그 확률을 낮춘다)

- 이중순회 도중 예상된 결과를 반환하지 않는다

- for-each를 사용하여 간결하게 표현


4. for-each 문이 무조건 답은 아니다

1) 필터링

- 특정원소를 삭제한다면 iterator의 remove() 호출해서 삭제해야 하기 때문에 제한된다.

2) 변환

- 원소의 값을 수정한다면 제한된다.

3) 병렬순회

- 병렬순회하거나 첨자를 발맞춰 나간다면 제한된다.


블로그 이미지

리딩리드

,
donaricano-btn

effectiveJava - 지역변수의 유효범위 최소화


1. Tip

- 지역변수를 처음 사용하는 곳에 선언하라

- 지역변수의 유효범위는 선언된 지점부터 해당 블록 끝이다.

- 거의 모든 지역 변수 선언에는 초기값이 포함되어야 한다.

- 메서드의 크기를 줄이고 특정한 기능에 집중하라.


2. 순환문(Loop)을 이용한 지역변수 최소화

- while문 보다는 for문을 사용하여 유효범위를 최소화 할 수 있다.

- 순환변수를 사용하여 순환문안에 지역변수를 최소화 한다.

- n, i 유효범위가 for문 안으로 제한된다. 

블로그 이미지

리딩리드

,