새롭게 옮긴 회사에서는 코드 리뷰가 활발하다. 활성사용자수가 많아서 실수하면 큰 일이 발생하니까 코드 리뷰를 적극적으로 할 수밖에 없다. 코드 리뷰를 읽다보니 어떤 패턴 같은 게 느껴졌다. 그 패턴을 추출하면 어떨까?
배경
어떤 조직 내에 특출난 사람이 있기도 하지만, 그런 사람들은 오래 있지 않는다. 어떤 조직 팀에 들어갔다면 엇비슷한 실력일 가능성이 크다. 결국 엇비슷한 실력을 가진 사람이 새로 들어왔다면 전에 들어온 사람이 실수했던 것을 반복할 가능성이 아주 크다. 따라서 코드 리뷰를 하는 리뷰어도 중복된 얘기를 할 수밖에 없게 된다. 리뷰를 받는 사람만 바뀔 뿐.
어떻게
1. 풀리퀘스트PullRequest(코드 반영 요청)에 리뷰를 모두 수집한다. 리뷰가 많다면 더욱 효과적이다. 간단히 셀레늄 같은 웹크롤링 라이브러리를 활용해서 수집할 수 있을 거 같다. 수집할 때 링크도 반드시 같이 수집한다. 다시 리뷰를 확인해볼 수 있도록.
2. 여기서부터는 NLP다.
일단 간단한 것부터 할 수 있을 거 같다. 워드클라우드(단어를 구름처럼 표현)로 반복되는 단어를 크게 표현하는 것도 가능할 거 같다. 물론 의미 없는 문장이나 단어는 제외한다. "수고하셨습니다", "고생하셨습니다" 등. 그렇게 제외하고 반복되는 단어만 봐도 대략 뭐가 중요한지 파악할 수 있을 거 같다. 해당 단어 키워드를 통해서 리뷰를 다시 볼 수 있게 한다.
효과
그렇게 지금까지 쌓인 리뷰 분석을 통해서 중요한 것, 반복되는 실수를 미리 파악한다면 좀 더 의미 있는 코드 리뷰에 시간을 쏟을 수 있을 거 같다. 새로 입사한 사람도 적응하기 쉬울 거 같다.
또는 엄청 유명한 오픈소스의 코드 리뷰들을 수집해서 패턴을 파악해서, 빠르게 학습할 수도 있을 거 같다.
깃허브 특정 저장소 입력 시 크롤링 -> 워드클라우드까지 만들어주는 간단한 주피터노트북 파일이나 py 파일은 만들 수 있을 거 같다. 시간날 때 해봐야겠다.