프로그래밍 이야기/JAVA 공부
자바 - 변수의 명명 규칙 관리하기, foreach문을 사용하자
글쓰는 개발자 김뉴네
2024. 6. 17. 22:30
728x90
반응형
- 대부분의 개발자가 반복문의 증감변수를 습관적으로 i,j,k로 사용하는 경우가 많다.
이는 매우 혼란 스러운 방법이며, 빈번하게 소프트웨어의 버그를 만들어내는 주범이다.
두번 이상 중첩된 방복문에서는 흔히 발생하는 오류의 주범이 될 수 있으며 이런 변수명을 사용할 때는 조심해야한다.
package _20240617;
public class LoopExample {
public static void main(String[] args){
for(int i = 2; i < 10; i ++){
for(int j= 1; j < 10; i ++){
System.out.println(i+"X"+j+"="+i*j);
}
}
}
}
위 프로그램은 명백히 j를 i로 잘 못 사용한 논리적 버그이지만 컴퓨터는 이런 코드를 문법상 전혀 오류가 없는 코드로 인식하고 어떠한 경고 없이 프로그램을 컴파일 하며 개발자는 위와 같은 코드를 디버깅하기 위해 시간을 소비하게 된다.
우리가 관습적으로 사용하는 i와 j는 알파벳에서 매우 혼동되는 문자 중 하나이며, 일반적으로 사용하는 일부 가독성이 떨어지는 폰트에서는 주의 깊게 보지 않는 이상 구분하기 어려운 경우도 많이 있다.
이러한 이슈를 줄이기 위해서는 IDE에서 가독성이 높은 글꼴( 나눔고딕 코딩, consolas, Verdana)등을 사용 하거나 i와 j 대신에 i 와 k 등 구분 하기 쉬운 글씨를 사용하는 방법이 있으며 보다 명확한 방법으로 변수의 명명규칙을 정하여 변수를 명확화 시키는 것이다.
- for문이 약간의 실행 속도 향상과 세세한 설정이 가능하다는 장점이 있긴 하지만 일반적인 배열을 순회할 경우 foreach를 이용하면 코드가 간단해지고 불필요한 증감변수를 사용할 필요가 없다는 장점이 있다.
package _20240617;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class ForeachExample {
public static void main(String[] args){
Random randomScore = new Random();
List<String> studentList = new ArrayList<String>();
studentList.add("홍길동");
studentList.add("김영희");
studentList.add("정철수");
String[] subjectList = {"컴퓨터네트워크","이산구조","운영체제","컴퓨터구조","데이터베이스개론"};
System.out.println("foreach를 통한 성적 출력");
System.out.println("=========================================");
for(String student : studentList){
System.out.println("학생명:"+student);
for(String subjectName: subjectList){
System.out.println("\t과목:"+subjectName+":\t\t점수:"+randomScore.nextInt(100));
}
}
System.out.println("=========================================");
}
}
728x90
반응형