본문 바로가기
일기

[우테코프리코스] 2주차 후기

by jeongwle 2022. 11. 8.
728x90
반응형

 

엥 1주차는 어디갔느냐고? 2주차부터 블로그에 쓰기로해서 없다.

 

2주 차 과제부터는 코딩 컨벤션과 커밋 컨벤션이 주어졌다.  코딩 컨벤션은 하나하나 천천히 읽어보았고 인텔리제이에 환경설정을 이용하여 자동으로 맞춰주도록 설정하였다. 물론 환경설정으로 해결할 수 없는 부분은 계속 읽어보고 확인해보고 하였다. 덕분에 코딩 컨벤션에 대한 부담은 덜었으나 커밋 컨벤션은 제대로 하고 있는 건지 끊임없이 의심하게 되었다. 물론 정답이 있는 것이 아니라는 것은 알지만 조금이라도 더 컨벤션에 가깝게 작성하기 위해 구글 검색을 하여 예시를 찾아보며 학습했다. 커밋 컨벤션을 따라 기능별로 커밋을 작성해야 하는데 코드를 짜다 보니 이미 여러 기능을 짜버린 상황도 생겼었다. 여태 그렇게 코드를 작성해왔으니 그럴 법도 하다. 그래서 이미 작성한 코드를 잠시 옮겨놓고 커밋을 하고 그랬다. 기능별로 커밋을 하는 습관을 들여봐야겠다.

기능목록이라는 것을 처음 작성해보았다. 지금까지는 생각만 해보거나 노트에 끄적이면서 코드를 작성해왔다. 기능목록을 어떻게 작성하는지부터 검색을 해보았는데, 사용자가 되어 프로그램을 실행한다는 시나리오를 하나 생각하면서 필요한 기능목록을 작성해보라는 글이 마음에 들어서 따라 해 보았다. 야구 게임을 내가 직접 한다는 시나리오로 어떤 흐름으로 진행되는지 그리고 그에 따라 필요한 것들이 무엇인지 작성해보았다. 확실히 목록으로 작성해놓고 목록을 확인해가며 코드를 작성하니 생각해 두었던 것을 빠트리지 않고 코드를 작성할 수 있었다. 앞으로는 기능목록도 작성해보고 혼자 그림도 그려보고 여러 가지 시도를 해보면 좋겠다는 생각을 하게 되었다.

주말에 알바를 하다 보니 주말에는 과제를 진행하는데 시간을 투자하기가 힘들었다. 과제가 진행되고 처음 이틀 동안은 컨벤션에 대해 공부를 하고 기능목록을 작성하는 데에 시간을 다 사용했다. 그래서 금요일에 하루 종일 집중하여 일단 코드를 돌아가게만 하려 했다. 종료 후 재시작 테스트 코드에서 자꾸 문제가 발생했었는데 게임 로직에서 잘못된 부분 하나를 찾는데 무려 네 시간이 걸렸다. 게임이 끝나면 재시작 여부와 상관없이 컴퓨터에 랜덤 숫자를 재생성하게 했는데 그것이 문제였다. 테스트 코드에서는 랜덤 넘버를 강제로 지정해두었기 때문에 똑같은 숫자가 계속해서 랜덤 넘버로 나와서 세 자리 숫자를 완성하지 못하는 문제였다. 여러 군데에 출력문도 사용해보고 코드 부분 부분을 주석해보고 돌려보고 했지만 찾기 힘들었는데 테스트 케이스를 하나하나 코드에 대입하면서 흐름을 찾다 보니 찾게 되었다.

그리고 남은 월요일과 화요일까지는 계속해서 리팩터링을 했다. static변수들을 종류별로 enum으로 묶기 위해서 enum에 대해 학습하고 작성하였다. 그리고 처음 돌아가게만 하려고 짰던 코드들을 계속해서 분리하고 그리고 조금 더 나은 로직이 생각나면 로직을 변경하였다. 그래서 코드가 처음 짠 코드랑 많이 달라져 버렸다. 처음부터 잘 계획하고 짜면 이럴일이 없었겠지만 아직은 그 능력이 부족한 것 같다. 앞으로도 계속 코드를 작성하고 리팩터링을 해보다 보면 나중에는 처음부터 조금 더 잘 짜게 되지 않을까 하는 생각이 든다.

테스트 코드를 작성하는 것 또한 나름 노력을 해보았는데 지금 와서 보니 테스트 코드가 많이 부족한 것 같다. 다음에는 테스트 코드를 좀 더 다양하게 많이 짜도록 해야겠다. 그래도 2주 차 과제도 재미있게 잘 마무리할 수 있어 다행이다. 3주 차도 힘내 봐야겠다.
728x90
반응형

'일기' 카테고리의 다른 글

[우테코프리코스] 4주차 후기  (0) 2022.11.22
[C2C컨퍼런스] 후기  (0) 2022.11.15
[우테코프리코스] 3주차 후기  (2) 2022.11.15
[일기] 22.07.16  (6) 2022.07.16

댓글