22.11.17-22.11.22

GunYong·2022년 11월 22일
0

Today I Learned

목록 보기
6/15
post-thumbnail

우테코 프리코스 4주차 회고록

드디어 프리코스 마지막 주를 마쳤다. 결론을 말하자면 결국 마무리 짓지 못하고 제출하지 못했다.

이번주차 과제를 하면서 어려움을 느꼈던 2가지 부분에 대해 정리해보고 그 부분에 대해 보완하고 공부해야겠다.

첫째, 설계가 복잡해짐에 따라서 난무하는 콜백함수들

흔히 말하는 콜백 지옥에 빠진 경험을 하였다. 하나를 유지보수 하려해도 그 안에는 수많은 콜백함수를 가지고 있어서 코드를 리펙토링하거나 유지보수 하는데 엄청난 고통을 겪었다.

순수 자바스크립트만 사용할 때 기능별로 메서드를 분리하고 파일을 분리하는 연습은 어느정도 되었는데 필요할 때 마다 메서드를 불러와서 사용하다 보니 눈에 보이지 않는 콜백들이 엉키고 설켜서 결과를 낼 때 즈음엔 하나 단위의 리펙토링을 하는데에도 코드 전체에 영향을 미치는 결과를 초래했다.

그리고 기능 구현 목록을 작성하고 순서대로 코딩을 한다고 하지만 초기에 작성했던 기능 구현 목록순대로 절대 이뤄질 수 없다.

직접 타이핑을 하다보면 뭐가 먼저 필요하고 뭐가 나중에 만들 수 있는지 감이 오게 된다.

그럴때마다 기능구현 목록을 수정하고 진행하다 보면 체계적이지 않고 나 자신도 헷갈린다.

그렇기에 다음부터는 내가 복잡하다고 느끼는 경우에는 설계 시각화 틀을 활용해서 시각적으로 이해하기 쉽게 만들면서 코드를 짜봐야겠다.

둘째, 제한사항 준수하기가 어려웠다.

우테코 코치님들도 메서드 10줄 제한은 억지라고 하셨지만 그래도 제한사항이다 보니 지키려고 노력했다.

출력 함수와 최종 게임 시작 함수는 10줄을 넘겨버렸다. 이번 과제는 기능 구현을 못해서 제출하지 못한 것 보다 내가 주어진 시간 내에 너무 시간을 잡아먹는 요소들이 많았단 것이었다.

리펙토링을 통해서 메서드의 길이를 10줄로 줄여나가려면 함수를 분리해야 하는데 위에서 언급했듯 콜백 지옥에 빠진 나는 하나의 함수를 분리하려면 엉켜있는 내 코드를 하나하나 뜯어봐야 했다.

전에 강의에서 듣던 콜백지옥을 직접 경험해보니 돌아버리는 줄 알았다.

유지보수 하는게 그야말로 지옥이다. 결국 시간내에 원하는 코드를 만들지 못했다.

결론

항상 실전 프로젝트만 하면서 알고리즘과 객체지향에 대해 들여다보는 시간은 없었던 것 같다.

비록 마지막 주차과제를 제출하지 못했지만 이번 기회로 배운점은 많다.

결과도 중요하지만 과정또한 중요하다.

그리고 이번 코스 시작부터 나는 합격보단 배워가는 공부 4주 코스로 임했기 때문에 내 과정과 결과는 모두 성공적이라고 생각한다.

1년동안 부족한 점을 보완하며 공부해서 내년 프리코스는 성장한 나로 도전해야겠다.

0개의 댓글