본문 바로가기

Book&Review/우아한 테크코스

[우아한 테크코스] 프리코스 4주차 회고록

[우아한 테크코스] 프리코스 4주차 회고록


개요

  우아한 테크코스의 프리코스 4주차를 진행하면서 느낀점과 기억하고 싶은 부분을 기록한다.

소개

1. 단위 Test가 가능하도록 함수 구현

작은 기능의 단위로 함수를 나누는거 까지는 어느정도 성공하였다. 하지만, 구현한 함수들이 input() 값을 갖고 있고 void 형이 많아 단위 Test 하기 편하게 구현되지는 못하였다. 이로 인해, 테스트를 하기 위해서 실제 사용되지 않는 테스트만을 위한 함수를 작성하게 되었고, 3주차 피드백에서 이러한 행동들을 지양하였기 때문에, 함수를 다시 작성해야 했다. 이번 4주차 미션을 하면서, 단순히 함수를 작은 기능을 하도록 나누어 구현만 하는 것이 아닌, 실제 테스트가 될 수 있도록 구현해서 에러가 발생하지 않도록 하며 구현하는 것이 얼마나 중요한 작업인지를 알게 되었다.

이를 계기로, 앞으로는 Parameter를 활용한 함수들을 작성해보며, 단위 Test가 용이한 작게 나누어진 기능을 하는 함수들을 구현할 예정이다.

 

2. UI 로직과 Business 로직 분리

하나의 클래스에서 Input과 Output의 기능을 입력하는 함수를 작성하는 것이 아닌, Input Class와 Output Class로 가능하도록 분리하였다. 처음에는 낯선 작업이였지만, 익숙해질수록 코드를 수정하는 유지보수 작업에서 편리성을 알게 되었다. 각 주요 기능별로 클래스를 분리하게 되어, 필요한 기능이 어디에 있는지 직관적으로 찾을 수 있게 되었고, 함수 안에서 호출시에도 복잡하지 않고 간결한 코드로 작성이 되었다.

한 클래스 내에서 일어나는 작업이라고 하여서, 하나의 클래스로 관리하는 것이 아닌, 각 기능별로 클래스를 분리하여 관리 할 때의 장점이 훨씬 크다는 것을 느낄 수 있었다.

 

3. Parameter 갯수 제한

Parameter의 갯수가 3개로 제한해 코드를 구현하였다. 이 전 미션에서는 최대 4개까지의 인자를 전달하였는데, 이렇게 작성한다면 하나의 함수안에서 처리할 수 있는 장점이 있게 되긴 하지만, 그 함수 안에서 다양한 로직이 구성되어 작동하기 때문에 에러가 발생한다면 찾는 작업이 쉽지 않았다. 하지만 이번 미션에서 Parameter를 3개로 제한하게 되면서, 자연스럽게 함수들이 세부적으로 작성되었고, 유지보수 또한 편리해지게 되었다. 또한, 많은 Parameter로 인해 불필요한 메모리를 줄일 수 있게 되어 코드의 효율성 또한 올라갈 수 있다고 생각되었다.

함수는 가볍고 작을수록 좋다는 것이 가장 크게 와닿았다. 처음 작은 단위로 나누었을 때는, 작업이 익숙하지 않아 불편하다고 생각되었는데, 어느정도 손에 익어가고 적응이 되면서 개인적인 유지보수 측면에서 뿐만 아니라, 함께 코드를 보는 사람들 또한 편리함을 느낄 수 있는 이유를 이해해 나아갈 수 있었다.