본문 바로가기
Git 관련&코드 정리

코드 리팩토링 #1

by winteringg 2022. 8. 17.

* 코드 리팩토링 #1 (22.08.17) 

- 주어진 문제에 대한 답을 일문일답 식으로 작성하는 프로그램

1) 문제를 출력하고 답을 입력받는 부분이 한 눈에 확인하기 어렵게 나뉘어져 있었다.
  - 1~5번까지의 문제들이 있는 코드가 한 번에 나열된 후 그에 따른 5개의 답이 또 나열되는 방식이었다. 이 방식은 문제에 대한 답을 확인하려면 스크롤을 내려 아래로 가야 하는 번거로움이 있었다. 문제가 있는 부분과 답을 확인하는 부분이 한 쌍으로 있다면 코드의 가독성이 높아질 것이라는 피드백을 주신대로 수정하였다.

2) 변수를 선언할 때 의도 없는 줄임말을 사용하였다.
  - 관례적으로 자주 쓰이는 줄임말들은 변수명으로 사용해도 무방하지만, 아무 의미 없이 줄임말을 변수명으로 쓰면 이게 어떤 변수인지 바로 파악하기 어려워 이해하기 힘든 코드가 된다. 습관적으로 Scanner 클래스를 사용할 때 참조변수를 줄여 썼는데 이번 기회에 의식적으로 의미없는 줄임말을 사용하지 않도록 고쳐야겠다. 

//이전 코드
Scanner sc = new Scanner(System.in);

//수정한 코드
Scanner scanner = new Scanner(System.in);



3) 문제와 답, 이라는 확실한 명제에 대한 변수명이 너무 다양하다.

  - 사용자로부터 문제에 대한 답을 입력받는 과정에서 쓰이는 변수명을 하나 하나 다르게 지어주었다. 10개의 문제에 대한 답 일경우, 10번의 다른 변수명을 만들면 되지만, 만약 100개일 경우? 100개의 하나 하나 다른 변수명을 지어줘야 하는 번거로움이 있다. 이 코드의 경우 문제와 답 이라는 확실한 컨셉이 있으니, answer1, answer2,...answer10 이런 식으로 지어주어도 의미가 잘 전달 될 것이라는 피드백을 받아 그대로 수정하였다.

댓글