4주차 미션 - 다리 건너기
https://github.com/Lee-Sunho/kotlin-bridge/tree/Lee-Sunho
달라진 점
1. 기능 구현 목록을 세분화 하는 것
이전 주차 까지는 기능 구현 목록을 작성할 때 단순히 프로그램의 실행 순서에 따라 번호를 매기며 작성하였다. 반면 이번 주 부터는 클래스의 분리, 도메인과 UI의 분리를 쉽게 하기 위해 기능 구현 목록을 작성하는 단계에서부터 입력 관련 기능, 출력 관련 기능, 도메인 관련 기능으로 분리하여 작성하였다.
2. 주어진 클래스를 사용하는 것
이번 주차 미션에는 이미 주어진 5개의 클래스 (BridgeGame, OutputView, InputView, BridgeMaker, BridgeRandomNumberGenerator) 를 각각의 제약사항에 맞춰서 활용해야하는 요구사항이 있었다. 따라서 각 클래스가 어떤 역할을 하게 될 것인지 클래스의 이름과 그 메소드들의 이름으로 판단해야 했다. 다른 클래스들은 그 역할이 분명했는데 BridgeGame 클래스는 약간 그 역할이 모호해서 많이 고민하였지만 의도대로 잘 구현했는지 모르겠다.
2. 메소드의 길이 제한
사실 저번 주차에도 있었던 요구사항이었지만 그때는 15라인 이내로 구현하는 것이라 그냥 자연스럽게 짜다보니 15라인 이내로 다 구현되어서 따로 신경쓰지 않았다. 하지만 이번 주는 10라인으로 제약이 커졌기 때문에 몇 가지 메소드에서 10라인이 넘게 되었다. 따라서 이 메소드들을 어떻게 더 분리해야할지 많이 고민해야 했다.
느낀 점 & 배운 점
프리코스 마지막 주인 4주 차 미션도 3주차에 이어서 패키지, 클래스의 분리, 도메인과 UI를 분리하여 구현하여 단위 테스트를 하는 것을 중점적으로 생각하면서 미션을 수행하였다. 아직까지는 클래스의 분리가 익숙하지 않아 설계 단계에서 많은 시간이 필요했고 구현을 하면서도 계속 프로그램 구조가 바뀌었다. 하지만 이렇게 체계적으로 설계하고 분리한 만큼 리팩토링 과정과 버그 수정 과정에서 훨씬 시간이 단축된다는 것을 몸소 느끼고 있다. 이번 주에 추가된 함수의 길이가 10라인을 넘지 않도록 하는 요구 사항을 지키는 것이 상당히 힘들었고 이를 위해 함수를 어떻게 하면 더 작게 쪼갤 수 있을 지 생각하는 시간이 많이 필요했다. 결국 모든 함수를 10라인 이내로 짜는 것을 성공했고 확실히 가독성적인 부분이 좋아져서 버그를 일으키는 코드를 찾는데 수월했다. 또한 단위 테스트를 작성하는 것이 이제는 약간 익숙해졌고 무엇을 테스트해야하고 무엇을 테스트할 필요가 없는지 판단할 수 도 있게 되었다.
프리코스를 마무리 하면서
한 달이라는 짧은 시간임에도 불구하고 실력적으로 성장했음을 체감할만큼 우테코의 미션들에서 많은 것을 배웠다고 생각한다. 먼저 코틀린을 한 번도 사용해보지 않은 상태로 1주차 미션을 수행할 때는 정말 혼돈 그 자체였다. 따라서 2주차부터는 뒤쳐지지 않고 더욱 잘하기 위해 부족했던 부분들을 되돌아보고 그 부분을 채우기위해 공부하려고 노력했다. 또한 이 미션을 통해 무엇을 배웠고 느꼈으며 어떤 점이 아쉬웠는지 매주 회고록을 쓰면서 한 주를 되돌아봄으로써 다음 주에는 더욱 성장한 모습을 보일 수 있도록 노력하였다. 프리코스의 미션들은 분명히 구현 자체의 난이도가 어려운 미션들은 아니었다. 다만 지금까지 과제를 위한 코딩, 읽는 사람이 나 밖에 없는 코딩을 해온 입장에서는 낯선 요구사항들이 많았다. 예를들어 클린 코드 컨벤션을 지키는 것, 구현 기능 목록을 작성하는 것, 상수 파일들을 분리하는 것, MVC 디자인 패턴 등등.. 그것들을 공부하고 체화하기 위해 많은 시간과 노력이 필요했다. 이처럼 미션을 수행하면서 정말 많은 시행착오를 겪었고 그 과정에서 모르거나 부족한 점을 스스로 공부해가면서 내가 미래에 좋은 개발자로 성장하기에 필수적인 습관들과 사고방식들을 얻을 수 있었다. 이는 학교 공부, 또는 지금까지 했던 팀프로젝트에서는 배울 수 없었던 좋은 경험이었고 프리코스는 여기서 끝이지만 좋은 결과가 있어서 내년에 열정넘치고 성실한 사람들과 우테코에서 같이 성장할 수 있었으면 좋겠다. 물론 떨어지더라도 프리코스에서 느끼고 배웠던 많은 것들을 밑거름 삼아 더욱 성장할 수 있을 것 같다.
'우테코 회고록' 카테고리의 다른 글
[우테코 회고록] 우아한테크코스 5기 AOS 프리코스 3주차 (0) | 2022.11.24 |
---|---|
[우테코 회고록] 우아한테크코스 5기 AOS 프리코스 2주차 (0) | 2022.11.11 |
[우테코 회고록] 우아한테크코스 5기 AOS 프리코스 1주차 (0) | 2022.11.04 |