일상/Kernel360

[Kernel360] 커널인의 코드리뷰 리뷰하기

Emil :) 2024. 4. 8. 16:08
728x90
반응형

서론


Kernel360에서 파이널 프로젝트가 마무리 되었습니다.

정규 과정인 프로젝트 기간은 마무리가 되었는데요, 저희 팀 포함 총 5개의 서비스를 개발한 뜻깊은 시간이었습니다.
본 포스팅에선 파이널 프로젝트에서 커널인들의 코드리뷰가 어떻게 진행되었는지 리뷰해보는 시간을 가져보도록 하겠습니다.

본론


1팀, JDON

JDON 팀의 PR템플릿

jdon은 원티드, 점핏, 사람인 등의 여러 채용 사이트의 정보를 기술 스택별로 한 눈에 볼 수 있는 서비스입니다.
또한 현직자와 커피챗도 신청할 수 있는 기능을 제공하고 있습니다. [서비스 링크]

궁금한 부분에 대해서 적극적인 토론이 일어나는 것을 볼 수 있었습니다.
특히 본인이 의문점을 갖는 부분에서 링크 첨부로 좀 더 직관적으로 상대가 이해하게끔 유도해주는 것이 인상깊네요.

다른 PR도 한번 살펴보겠습니다.

설명이 매우 구체적이네요.
다만 멘토님이 말씀하시길, 리뷰는 최대한 기능단위로 작게 만들어서 리뷰어의 피로도를 최소화해주는게 좋다고 하십니다.
이 부분은 모든 팀 공통인 것 같네요. 저희 팀도 그렇고, 큰 기능이 들어갈 땐 이렇게 PR이 길어졌습니다. 근데.. 어쩔 수 없는 부분인 것 같기도합니다. 왜냐하면 큰 볼륨의 작업을 할 때 PR 올리고 승인받고 다시 이어서 하면 업무의 흐름이 끊어지지않나.. 그렇게 생각이 드네요.

개선이 필요한 내용도 거리낌없이 제안하여 좋은 품질의 코드를 만들기 위해 노력하는 모습을 볼 수 있었다.

2팀, 오루리


오루리는 제가 속해있는 팀입니다. 클라이머를 위한 클라이밍 커뮤니티 및 암장 리뷰제공 서비스인데요, 저희 팀은 협업이라는 키워드에 맞게 커뮤니케이션 비용에 상당한 투자를 했습니다. [서비스 링크]

오루리 팀의 PR 템플릿

어쩌다보니 팀들의 PR템플릿이 유사한데, 저희 팀의 템플릿을 다른 팀들이 참고해서 만들었습니다.
사실 저희 팀도 여기서 가져온거라, 머쓱하네요. 다 그렇고 그런거 아니겠습니까.

어느정도 볼륨이 있는 작업들은 코멘트 수가 상당하다.

코드리뷰를 하면서 가장 어려운점은 내가 작업하지 않은 사항을 이해하는 작업인 듯 합니다.
저도 리뷰를 하면서 업무가 바쁘다보니 로직을 이해하지 못하고 넘긴것도 꽤 많았던 것 같습니다.
이 부분은 정말 어려운거같아요... :(

면접을 보면서, 회사에게 질문하는 시간에 "코드리뷰를 할 때, 아무래도 내가 작업자가 아닌 이상 그 코드에 대한 이해도가 떨어질텐데 그 부분은 어떻게 해결하고 계신가?" 라는 질문을 항상 하는데, 대부분 현업자분들도 "그 부분이 어려운 건 맞기에 우리도 인지하고 있다, 그렇기에 최대한 이해하려고 노력하고 있다." 라는 식으로 추상적인 답변을 해주셨습니다.
정답은 사실 내가 그만큼 시간을 투자해서 완벽하게 이해하는 것이 맞지만, 아무래도 시간에 쫓기다보니.. 시간을 더 투자해야 하는 것이 정답인듯 싶습니다. 글을 쓰다보니 나름대로 정리가 되네요.

제가 작성한 PR을 예시로 가져와봤습니다.

저희 팀도 마찬가지로 개선점에 대해서 적극적인 피드백과 수용을 거쳤습니다. 해당 내용은 현재 OpenFeign으로 또 한 번 리팩토링이 된 상태네요.
도중에 멘토님으로부터 코드리뷰에 대한 평가를 받을 수 있었는데, 해당 시간에 리뷰를 좀 더 아토믹하게 쪼개보라는 피드백을 받아서, 이 부분은 최대한 적용하려고 노력을 많이했습니다.

3팀, Washfit


Washfit팀은 세차 정보에 관련된 정보를 제공해주는 서비스입니다. 세차용품부터 노하우를 담은 유튜브 등을 하나의 사이트에서 제공해주고 있는데요, 초록누리와 같은 공공API와 실제 상품을 판매하는 회사에 직접 컨택해서 서비스를 만들어나간 점이 인상깊었습니다.
[서비스 링크]

Washfit 팀의 PR 템플릿

Washfit 팀도 마찬가지로 잘 진행되었네요.

위에 두 팀과 비슷한 양상으로 진행되었기에.. 가독성 이슈로 별도 스크린샷을 넣진 않겠습니다.
(어쩌다보니 뭔가 다 비슷해보이네요)

4팀, 이길-로그


이길로그 팀은 지역 기반 장소 평가 서비스입니다. 식당 뿐만 아니라 모든 장소에 대한 평가가 이뤄진다고 보시면 되겠네요.
[서비스 링크]

이길로그 팀의 PR 템플릿

이길로그 팀은 신기하게 모노레포로 작업하셨는데요, 프론트와 백의 변경사항이 모두 포함되어 있었습니다.
PR 템플릿도 상당히 심플한데, PR을 올리면서 어떤 작업인지 체크하는 게 은근 귀찮았거든요, 이렇게 심플하게 하는것도 좋은 방법인 것 같습니다!

이길로그팀은 github-actions ai 코드리뷰를 사용했습니다.
저희 팀도 해당 기능을 사용해봤는데... 유의미한 코드리뷰는 안해주는 것 같아서 설치했다가 지웠었던 기억이 있네요.  

5팀, Kernelsquare


마지막으로 Kernelsquare팀은 개발자 간 질의응답, 커피챗, 모각코 등을 위한 개발자 커뮤니티 서비스입니다.
[서비스 링크]

병룡님의 갈!!! 이 느껴진다.

해당 팀도 코드리뷰가 적극적으로 이루어지고 있네요, 커널스퀘어팀 뿐만 아니라 다른 모든 팀들도 문제의 '제기' 가 아닌 '대안'을 제시함으로써 협업에 좀 더 가까워지는 것 같아 보기가 좋습니다.

마치며


커널360 크루들의 코드리뷰를 리뷰해보는 시간을 가졌습니다.커널360에선 양산형 개발자가 아닌 진짜 실력있는 개발자를 양성한다는 모토가 있기 때문에, 이러한 코드리뷰 문화도 전반적으로 활성화가 되지 않았나 싶습니다.
하지만 이에 만족하지 않고 더 좋은 문화를 갈고닦으며 나아가는 것이 앞으로의 숙제인 듯 합니다.
728x90
반응형