[세미나 후기]okky 1월 세미나(한번 듣고 평생 써먹는 코드 리뷰 노하우-백명석) 후기

zzarbttoo·2022년 1월 19일
0

바로 어제 okky 1월 세미나 "한번 듣고 평생 써먹는 코드 리뷰 노하우"가 진행됐는데요
줌으로 진행됐기 때문에 인원제한이 있었지만
저는 신청 시작일에 신청을 해서 운좋게 들을 수 있었습니다🤹‍♀️

현재 패스트 캠퍼스에서 유료 강의를 진행하고 계시기 때문에 세미나의 모든 부분에 대해서 정리를 할 수는 없지만 간략하게 정리를 해보도록 하겠습니다

이번 세미나에서는 코드 리뷰의 기술들 보다는
왜 코드 리뷰를 도입해야 하는지, 어떻게 도입해야 하는지에 초점을 맞추어서 진행이 됐어요!



왜 코드리뷰를 진행해야 하나

1. 클린코드는 개발 비용을 줄인다

왜 코드 리뷰를 진행해야하나에 앞서서 클린코드의 중요성에 대해 말씀을 해주셨는데요, 클린코드를 짜야 하는 이유는 다음과 같았습니다

  • 개발 비용 보다는 유지 보수 비용이 더 많이 든다
  • 한번 작성한 코드는 10번 이상 읽히며 작성보다 이해하는 것이 10배 이상의 노력이 든다
  • 때문에 빠르게만 코드를 작성하는 것은 나중에 기술 부채를 만드는 것이기 때문에 오히려 잘 짜는 것이 더 저렴한 길이다

그리고 코드리뷰를 도입할 때에도 개발부심(!)따위로 설득을 하는 것이 아니라 클린코드가 추가비용을 낮출 수 있다는 비즈니스 측면에서 설득을 해야한다고 말씀을 해주셨습니다

2. 지식의 공유가 전문성을 가진 개발자를 육성

  • 지식과 업무 경험을 공유하는 것이 전문성을 갖춘 개발자를 육성할 수 있는 방식이다
  • 공유를 할 수 있는 가장 쉬운 방식이 코드리뷰이다
  • 리뷰를 받는 사람 뿐만 아니라 리뷰를 하는 사람도 지식을 얻게 된다(의사소통 스킬 등)
  • 결속력이 생기고 동기부여가 된다

3. 코드리뷰를 통해 코드 결함을 줄일 수 있다(주 목적)

  • 물론 모든 코드 결함을 없앨 수 있는 것은 아니지만 노하우가 축적됨에 따라 코드 결함을 줄알 수 있다

코드 리뷰가 어려운 이유

  • 코드리뷰를 개인적인 공격으로 받아들일 수 있음
    -> 코드 리뷰는 감정적으로 받아들이면 안된다

  • 잘하는 부분에 대해서만 말할 수 있음
    -> 못하는 것에 대해서도 솔직하게 말해야한다

  • 글로 진행되기 때문에 오해의 위험이 있다
    ->피드백을 엄청 굉장히 조심스럽게 해야한다


효과적인 PR / 리뷰 방식들

1. PR

  • 저자가 공을 들여서 PR을 작성해야 더 효과적인 코드리뷰 가능
  • 코드리뷰가 필요 없는 pr(공백 제거 등등)은 별도의 커밋으로 분리
  • 귀찮은 작업은 컴퓨터에게 맡긴다(ex intellij inspection tool)
  • 스타일 가이드는 그냥 좋은거 차용해서 쓰기(안중요하다!!!)
  • PR 올리고 저자가 첫 주석을 단다
  • 의미 있는 커밋으로 분리

여기에서 인상 깊었던 것은 혼자서도 커밋 로그/풀리퀘를 아주 잘 작성한 예시였습니다.
어차피 2주 지나면 내코드도 내코드가 아니기 때문에(!) 혼자 개발하는 상황이라도 커밋 메시지를 잘 작성하는 것이 좋다는 것이 와닿았습니다

2. 리뷰

  • 리뷰는 즉시 시작, 단위는 작게(200줄 정도 변경이 적당하다고 생각한다고 합니다)
  • 너무 처음부터 다하려고 하지 말고 정말 치명적인 오류 해결 뒤 저수준의 문제 해결
  • 예제 코드를 너무 자세히 주면 억압적으로 보일 수 있다
  • 리뷰의 범위가 아닐 경우 연관관계 없을 경우 간섭하지 말아라
  • 야너니 하지 말아라(!) + 진심어린 칭찬
  • 명령조가 아니라 요청으로 표현하기(~하는게 어떨까요????~~~★) 혹은 걱정으로 표현하기(알아서 생각하도록)
  • 건설적인 피드백 못하면 입다물
  • 실수가 반복되면 다 알려주지 말고 한두개만 얘기하고 걍 냅버려둬라
  • 싸움나면(교착상태) 만나서 얘기하거나 혹은 그냥 냅버려둬라~(안그럼 퇴사한다)

이 얘기를 들으며 과거의 저의 행동에 많은 반성을 했습니다...흑흑
저 같이 감성이 떨어지는 사람(!)은 이런 강의를 통해 사회성을 배울 수 있어서 좋았습니다
(협업 시 좋은 예시와 하면 안되는 것을 배워갈 수 있음)


기타

  • 코드 리뷰를 도입하기 싫어한다면 첫번째 써놓은 것 처럼 비즈니스 가치를 통해 설득
  • 아니면 내가 멋진(!) 모습을 보여 다른 사람들이 따라할 수 있도록 하자 (WOW~)
  • 코드리뷰가 시간이 아깝다고 생각할 수 있지만(그리고 도입 직후에는 오히려 효율 감소) 오랫동안 진행하면 기하급수적인 효과를 얻어낼 수 있다
  • 코드 리뷰는 TDD와 결합할 때 효과적(동작하는 코드에 테스트 한다는 점이 아주 효과적)

위와 같이 정리를 해보았고 사실 강의 내용은 더 자세했답니다 껄껄....
궁금하시다면 패캠 강의 혹은 테크톡 2022 컨퍼런스에서 들어보시면 겹치는 부분이 많기 때문에 들어보시면 될 것 같습니다

profile
나는야 누워있는 개발머신

0개의 댓글