입사 4주차
한 주 동안 코드리뷰를 두 번 받았다.
1차 코드리뷰 이후 거의 대부분의 코드를 뜯어고쳤고, 나름대로 깔끔하게 짰다는 자신감도 있었다.
하지만 일부 비효율적인 구성 및 방대한 중복코드 발생으로 인하여 2차 코드리뷰에서 많은 지적을 받았다. ㅠㅠ
결국 또 대규모 공사를 했고, 3차 코드리뷰 때는 비교적 많이 개선된 모습을 보여드릴 수 있었다.
리뷰를 받으면서 느끼고 배운 점이 몇 가지 있는데 그 내용을 다시 되새기면서 앞으로는 더욱 잘할 수 있도록 분발해야겠다는 생각이 들었다.
-
외부 라이브러리에 있는 기능을 쓰게 되었을 때, 이게 정확히 어떤 기능을 하며 현재 상황에서 왜 사용해야되는 것인지 명확하게 짚고 넘어갈 필요가 있음.
나같은 경우 2차 코드리뷰 이후 대규모 수정을 하면서 이 내용을 지키지 못했다. Apache Commons에 있는 ImmutableMap을 쓸 일이 있었는데, 레퍼런스를 보면서 꼭 이 것을 써야겠다고 판단한 것이 아니라 ‘내가 하고 싶은 것을 어떻게 구현하나 찾아보니 블로그 예제 코드에서 그걸 쓰고 있어서’라는 이유로 쓰게 된 것이었다. 뒤늦게 찾아보면서 많이 반성했다.
-
IDE에서 알려주는 경고메시지도 유심히 살펴보고, ‘이런건 당연히 아는거죠’라는 식으로 적당히 짚고 넘어갔던 기본 개념들도 남에게 설명해줄 수 있을 정도까지 복습해서 숙지해야된다는 걸 깨달았다. 어설프게 알고 있다고 생각되는 내용은, 한 번씩 공식자료를 찾아보며 잘 정리해볼 필요성이 있겠다.
-
외부 API 호출하여 받아온 json을 파싱하는 과정에서, 당장 이렇게 하는게 편하고 효율적이라고 생각해서 구현한 부분이 있었는데 코드리뷰 하면서 짚어보니 메모리 효율면에서 좋지 않을 수 있다는 지적을 받았다. 현재 이렇게 구현한 것이 내 생각에는 왜 문제가 없을 것이라고 판단한 건지 논리적으로 설명해드릴 필요가 있었지만.. 내 공부가 부족해서인지 쉽지 않았다. 자세한 내용은 여기에 안쓰겠지만 좀 많이 고민해보고 관련 내용을 공부해봐야겠다.
개인 공부
enum을 어떤 식으로 사용해야 할지 고민하면서, 자바8부터 쓸 수 있는 함수표현식을 enum에서 어떻게 활용하는지 학습하고 코드에 실제로 적용했다.
해당 내용 공부하면서 창천향로님의 블로그를 보고 많이 도움 받았다.
RxJava도 계속 연습하다보니 예전보다 사용하는게 제법 익숙해진 느낌이다.
그 외에는 요즘 업무에서 사용하고 있는 오픈소스들 내부 뜯어보면서 어떤 식으로 구성되어 있는지 파악하는 연습을 하고 있다.
느낀 점
이번 프로젝트가 마무리되면 프로젝트 회고를 작성할 예정이다. 대외적으로 공개할지는 모르겠지만..
다음달부터는 많이 바빠질 것 같은 예감이 드는데, 재밌는 일 많이 하고 실력도 늘고 이것저것 잘 배울 수 있었으면 좋겠다!