ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [BaseCamp] 6주차 회고
    Rookie 2021. 3. 9. 23:25
    반응형

     

     

    숨 가쁘게 지나갔던 개발 5주차가 끝났다.

    6주차에는 5주차보다는 여유로웠지만,

    주말에 밀린 집안일과 휴식을 취하다보니 여전히 개인 공부는 못하고 있다....

     

    6주차는 코드리뷰, 리팩토링과 테스트 코드 작성을 하게 되었다.

    코드리뷰를 받으면서 나름 잘 짰다고 생각했던 코드들의 문제점이 낱낱이 파헤쳐졌다. 🤪🤪🤪

    시간상 주요 기능 위주로 리뷰를 받았지만 기본적인 문제들은 동일하게 있었다.

     

    그리고 데이터 베이스 모델링 결과를 받으면서 구조가 변경되었는데,

    다같이 뒤엎어서 작업할 때의 아득함이란....

    이게 git-flow에 맞는 방식일까 했지만 지금 생각하면 최선이지 않을까...싶다. 

     

    이번 회고에서는 간단히 경험한 내용(?)에 대하여 적고,

    저번에 계속 못하던 KPT도 짧게 진행한다.

    계속 미루니까 안쓰게 되서 간단하게라도 적어두려고 한다. 😋

     


    TTD (Test Driven Development)

    TTD란, 소프트 웨어 개발 방법론 중 하나로

    테스트 작성 -> 테스트를 통과하기 위한 짧은 코드 작성 -> 리팩토링의 사이클을 반복하며 코드를 구현하는 방식이다.

    솔직히 말해서 테스트 코드는 아직도 왜 작성해야하는지, 어떻게 작성해야 하는지 이해가 되지 않는다.

    이번에는 테스트를 먼저 작성하고 테스트를 통과할 수 있게 구현하는 것이 아니라,

    코드 커버리지를 올리기위해 구현된 코드에 맞춰 테스트를 작성했기 때문일지도 모른다.

     

    한가지 느꼈던 것은 테스트 코드를 작성하게 되면 input, output이 명확해진다.

    그래서 추후에 코드가 수정되더라도 '기준'이 존재하기 때문에 안정성이 조금 더 확보될 것 같다.

    그리고 테스트 코드를 먼저 작성했더라면 그 기준에 맞춰 구현해서 불필요한 코드가 좀 더 줄지 않았을까?

    오... 쓰고보니 저게 테스트 코드를 작성해야하는 이유 같기도 하고....

     

    Spring Shell - CLI 구현하기

    cli는 내가 담당하게 되었고, 처음 이 과제를 받았을 때는 정말 많은 고민과 토론이 있었다. 

    다른TF의 동기가 Spring Shell의 존재를 알려 주었고,

    과제의 의도를 깨닫게 되었지만 어쩌다보니 이 과정에서 cli 과제 가이드를 작성하게 되었다....

    ( 하지만 글을 업로드하고 오히려 내가 더 도움을 많이 받았던 것 같다. 🥰)

     

    과제의 의도는 Presentation(Controller)계층이 불필요한 로직을 가지고 있지 않은지,

    혹은 Business(Service) 계층으로 침범하지는 않았는지 등 계층간의 분리가 제대로 되어 있는지에 대한 것이였다.

     

    계층간의 분리가 제대로 이루어지지 않다면 cli를 구현하면서 구조를 개선해야 했으나,

    다행히 우리조는 클-린하게 분리가 되어있었고, 호출할 메소드마저 깔끔했다.

    덕분에 고민에 비해 구현은 정말 간단하게 끝났다.

     

    스프링 쉘을 사용했던 과정을 정리한 게시물을 따로 업로드 할 예정.

     


     

    Keep: 잘한 점 🥰

    > 혼자 고민하지 않고 나누고 질문하기.

    cli를 하면서 우리 판다TF와 다른 TF에 마구 물어보고 다녔다.

    나뿐만 아니라 다 같이 이해를 못하고 있나 싶어서 운영진분들께 여쭤보고 확실하게 해결이 됐었다. 

    예전에는 혼자 해겠다고 끝까지 버텼는데(또 어찌어찌 해결하긴 한다...), 버티는 게 항상 잘하는 것만은 아닌 것 같다.

    스스로의 힘으로 해결할 수 있다면 제일 베스트겠지만,

    오래 걸리거나 잘못된 방향으로 가는 것보다는 물어보고 빠르게 해결하는게 최고다. 👍

     

    Problem: 문제점 🤔

    > 테스트 코드, 과연 제대로 작성한 것인가?

    앞서 얘기했다시피 내가 작성한 게 맞는 테스트 코드인가....

    이렇게 작성하는 것이 맞나.....뭔가 요상한데....라는 생각이 계속 든다 😅

     

    > 스스로의 공부 시간은 어디로?

    서론에서 "주말에 밀린 집안일과 휴식을 취하다보니"못하고 있다고는 했지만,

    솔직히 평일에 잠을 좀 줄이거나 주말에 좀 더 부지런해지면 가능한 일이다.

    그렇지만 그러면 진짜 일하기 싫을 것 같다.......

    지금은 개발이 너무 좋고 회사도 너무 좋은데 싫어지면 뭔 낙으로 다닐까.....

     

    Try: 개선점 😋

    > 다른 사람의 코드 참고하기

    테스트 코드에 대해 칭찬을 받았던 TF나, TTD에 대해서 쓴 글을 좀 보고 공부해야할 필요성이 있다.

    이번에 새로 구현하게 되는 부분이나 리팩토링 과제 전에 확인하고 파악하고 비교하기. 꼭꼭.

     

    > 1개만이라도 미루지 말자.

    이러니 저러니해도 실천을 안하면 제자리일 것이다...

    딱 1개. 개인적으로 공부하고 정리한 글을 업로드하기.

    과제와 관련이 있더라도 깊게 공부하고 정리할 것.

    일단은 책읽기와...7주차 회고부터....하자.......

     


     

     

    'Rookie' 카테고리의 다른 글

    2021 NHN 그룹사 신입개발자 공개채용  (2) 2021.10.01
    [BaseCamp] 최종 회고  (0) 2021.03.29
    [BaseCamp] 4, 5주차 회고  (2) 2021.02.22
    [BaseCamp] 3주차 회고  (0) 2021.02.07
    [BaseCamp] 2주차 회고  (2) 2021.02.04

    댓글