본문 바로가기
JAVA

자바 플레이그라운드 with TDD, 클린코드(3)

by moonstal 2022. 4. 16.

자바의 정석 1권의 조건문과 반복문, 배열, 객체지향 프로그래밍, 예외처리, java.lang패키지와 유용한 클래스까지 읽고 문자열계산기2, 자동차 경주 게임을 만들었다.

 

문자열 계산기는 테스트코드가 만들어져 있었고 기능 목록도 정리되어 있어서 테스트코드를 통과하도록 기능을 구현하다보니까 하나씩 만들어 갈 수 있었다.

 

사실 자동차 경주 게임은 그냥 기능 구현하는 것도 나는 어려웠다. 다른 사람들이 해놓은 것들을 참고하려고 검색하니까 우테코 합격하신분들의 코드를 볼 수 있었는데 생각하는 수준의 차이가 달라서 자괴감이 들었고 다른사람들 코드 읽는 것도 어려웠다. 테스트코드는 일단 냅두고 기능 구현만 해봤는데 책을 읽었어도 public private static은 내멋대로 붙이고 있고 객체생성은 어디서 해야할지, 어디서 메서드를 호출할지, 이 기능은 어디에 있어야할지 감이오지 않았다. 입력과 출력, 핵심로직 구분해서 만들고 싶은데 잘 안된다. for문안에 if문, 숫자를 그대로 적어놓은 것, 예외처리 안한 것 고쳐야 할게 많다.

 

지금까지 나는 무슨 공부를 한건지, 왜 이렇게 아는게 없는지 되돌아보게 되었다. 그래도 이 강의를 들으면서 처음으로 생각을 하면서 코드를 짜볼 수 있었고 거대해보이던 프로그램에 기능목록을 만들어서 하나씩 구현하다보니까 뭔가 만들어져서 뿌듯했다. 또 테스트코드 작성해보면서 내가 만든 기능들이 잘 작동하는지 바로바로 피드백 받을 수 있어서 좋았다. 그리고 많은 궁금증이 생겼다.