We will find a way, we always have.

-interstellar

우아한테크코스

[우테코 레벨2] 12주차 회고 (페이크 객체, 선릉캠, 돌아보기)

Redddy 2024. 5. 15. 18:44

 

 

 

월요일 어린이날은 푹 쉬고 화요일에 열심히 코딩을 하고 클라이밍 하러 갔다. 백엔드 크루는 아루, 이든, 리니가 갔었고 프론트엔드 크루 낙타도 함께 갔다.  

 

 

캠퍼스 내에 "모의 객체를 사용하지 않음으로써 테스트 충실도 높이기"라는 대자보가 붙었다.

 

대자보

 

 

이번 미션을 페어의 코드로 사용했었는데, 페어는 페이크 객체를 사용해 테스트를 하고 있었다. 구현을 하는 도중에 페이크 객체의 문제점을 몸소 느꼈다. 일단 실제 객체는 sql을 직접 사용하여 db에 쏘는 형태였는데, 페이크 객체는 JCF를 사용하고 있었다. 때문에 내가 작성한 sql의 검증을 페이크 객체로는 확인할 수 없었다. 예를 들어 existById 같은 메서드를 사용해도 실제 객체는 쿼리를 날려 확인을 하는데 페이크 객체는 쿼리를 날리는 게 아니라 JCF가 제공하는 메서드를 사용하기 때문에 테스트가 성공해도 정말 sql이 정상 작동했는지 확인할 수 없었다. 

 

그리고 Repository를 인터페이스로 구현했었는데, 프로덕션과 테스트용 객체를 만들면 작업량이 두배로 증가하게 되는 문제점도 있었다.

 

어떤 일도 있었냐면 서버를 띄우고 실행해보면 올바르게 동작을 하는데, 그 동작에 대한 테스트는 깨지는 상황도 있었다. 문제는 잘못된 페이크 객체 구현이었다. 

 

그래서 미션 도중에 페어의 코드에서 페이크 객체를 제거하는 작업을 하였다.

 

5개월만에 선릉

 

토요일에 에어컨 청소 이슈로 잠실캠 대신 선릉캠만 문을 열게 되었다. 강남에서 메이슨, 켈리, 토다리, 폭포와 같이 방탈출을 하고 선릉 캠퍼스에 갔다. 

 

최종 코딩테스트를 선릉에서 봤었는데, 그때 이후로 5개월만에 가보는 곳이었다. 최종 코테의 기록 새록새록 났었고 서로 어디에 앉았었는지 나누면서 잠시 추억에 잠겼다.😀

 

돌아보기

 

다른 크루의 pr을 구경하다가 리뷰어가 남긴 글에 감동을 받은 적이 있다.

크루가 pr 보내고 난 후 리뷰어에게 merge 하기 전에 다음번에 merge 할 예정이라면 언급 해달라고 했었는데, 그에 대한 답변으로 언제나 마지막 리뷰인 것처럼 최선을 다해보라고 하셨다.

 

크루의 질문

 

리뷰어의 답변

 

 

나는 언제나 마지막인것 처럼 최선을 다하며 코드를 짜고 있었을까?

빠른 피드백을 받기 위해 누추한 코드로 리뷰를 요청했던 경우가 많았다. 시간이 부족하다고 핑계를 대며 넘어갔었는데, 그럼 시간이 부족했던 이유는 무엇일까? 

사실 비슷한 결의 피드백을 체스때 제이미에게 받은 적이 있다. 

 

 

 

미션 시간이 정말로 부족했을까? 

요구 사항을 충족시켜내기엔 충분한 시간이라고 생각한다. 최종 코테도 5시간안에 꽤 복잡한 문제를 해결해내야 했었고 해냈다. 우테코 미션도 코치들이 설계할 때 시간안에 해낼 수 있도록 설계했을 거라 생각한다. 

 

우선순위도 적절하게 설정한 거 같다. 그럼 뭐가 문제였을까...? 사실 잘 모르겠다. 

 

남은 미션 후회없는 코드를 작성하자.

 

에이스