Git 관련&코드 정리
코드 리팩토링 #3 (변경 가능성 있는 값은 변수에 넣어주기)
winteringg
2022. 8. 18. 13:32
* 코드 리팩토링 #3 (22.08.18)
- 주어진 문제에 대한 답을 일문일답 식으로 작성하는 프로그램
※ 의미없는 정답 값이 문자열 그대로 출력문에 사용되었다.
- 문제에 대한 답을 그대로 출력문에 문자열로 작성하여 답을 체크하였다. 이런 방식은 추후 정답이 변경될 경우, 일일히 문자열을 변경해주어야 하는 불편함이 생긴다. 유지보수의 용이성을 위해 아무 의미 없는 값을 그대로 써주는 것 보다는 변수에 할당해주면 추후 값이 바뀌어도 변수의 값만 바꾸면 되기 때문에 훨씬 코드도 간결해진다. 의미 없는 값은 변수에 할당하는 습관을 들이자!
//이전 코드
System.out.println("------------ 문제 1 ------------");
System.out.println("RAM 은 무엇의 줄임말 일까요?");
System.out.print("정답 입력 : ");
String response1 = sc.nextLine();
if(response1.equalsIgnoreCase("random access memory")) {
int score += 1;
System.out.println("정답입니다. 점수 : " + score + "점");
}
if(!response1.equalsIgnoreCase("random access memory")) {
System.out.println("틀렸습니다. 정답 : " + "random access memory");
}
---------------------------------------------------------------------------
//수정한 코드
System.out.println("------------ 문제 1 ------------");
System.out.println("RAM 은 무엇의 줄임말 일까요?");
System.out.print("정답 입력 : ");
String response1 = scanner.nextLine();
//정답을 변수에 할당해준다.
String rightAnswer1 = "random access memory";
boolean check1 = response1.equalsIgnoreCase(rightAnswer1);
if (check1) { //정답이면
score += 1;
System.out.println("정답입니다. 점수 : " + score + "점");
}
if (!check1) { //정답이 아니면
System.out.println("틀렸습니다. 정답 : " + rightAnswer1);
}