상세 컨텐츠

본문 제목

코드리뷰-중요점,주의점,방법,의견

개발/방법론

by 화천사장 2024. 1. 11. 17:32

본문

반응형

코드리뷰는 소프트웨어 개발 과정에서 개발자들이 서로의 코드를 검토하고 피드백을 주고받는 활동을 의미합니다. 

이는 품질 향상, 버그 예방, 팀 내 지식 공유 등을 목적으로 하는 중요한 협업 방법입니다. 

 

[목차]

중요점

  • 프로세스 통합
    • 코드 리뷰는 개발 프로세의 일부로 통합되어야 효과적입니다. 
    • 주기적이고 일관된 리뷰를 유지하는 것이 중요합니다. 
  • 피드백 문화 
    • 개발자들 간에 건설적인 피드백 문화를 유도해야 합니다. 
    • 피드백은 비판적이면서도 존중적이어야 합니다. 

주의점

  • 비난을 피하기 
    • 리뷰에서는 코드에 집중하고, 개선점이나 피드백을 통해 개발자들 간에 건설적인 토론을 유도해야 합니다. 
  • 과도한 지연 피하기 
    • 코드 리뷰는 빠르게 이뤄져야 효과적입니다. 
    • 지나치게 오랜 시간이 걸리면 피드백의 효과가 줄어들 수 있습니다.

방법

  • Full Request 리뷰 
    • 코드 변경 사항을 Pull Request로 제출하고, 팀원들이 해당 변경 사항을 리뷰하고 피드백을 주고받습니다.
  • Pair Programming 
    • 두 명의 개발자가 동시에 하나의 컴퓨터에서 작업하면서 코드를 작성하고 리뷰하는 방식입니다. 
  • 자동화된 도구 사용 
    • 정적 분석 도구나 코드 포매터를 사용하여 일부 자동화된 리뷰를 수행할 수 있습니다.

의견

코드 리뷰는 필수적인 활동을 여겨집니다. 

방법 중에 페어 프로그램은 한때 유행했던 적이 있지만, 근래에는 잘 사용되지 않고 있습니다. 

그래도, 급하게 수정되어야 할 것들이 생기면 사용되기도 합니다. 

개인적으로,  "병풍 코딩"이라고 부르는 방식입니다. 

 

조직마다 코드 리뷰하는 방식에 차이가 좀 있는 것 같습니다. Full Request 방식은 개발 조직이 크고, 조직원들의 실력이 어느 정도 뒷받침된 상황에서 시행하는 것 같고, 작은 조직이나 초급분들이 많은 조직은 회의실에 모두 모여 진행하는 경우가 많은 것 같습니다. 

아무래도 공통된 지식을 전파해야 하는 경우가 많기 때문인 것 같습니다. 

 

코그 리뷰는 서로에게 상처 주기도 쉽고 받기도 쉬운 활동 같습니다. 

"오픈 마인드"를 가지라고 말은 하지만, 막상 본인이 작성한 코드에 문제 제기가 발생하면 마음 편하지 않습니다. 마음이 안 편하니 말도 좋지 않게 나오기도 합니다. 그래서 코드 리뷰는 조심스럽게 진행해야 할 활동 중에 하나입니다. 

 

개인적으로는 중급 이상의 개발자들은 Full Request 방식을 초급이나 중급 정도의 개발자들과는 주기적으로 회의실에 모여 코드를 다 함께 봤습니다. 물론, 모든 코드를 검토하진 못하니 미리 선별해 놓은 코드 중심으로 진행합니다. 

이때 더불어 추천하는 방법은 코드 리뷰에서 거론된 디자인 패턴이나, 특이점 등을 기록하는 것입니다. 

이렇게 기록된 부분들은 이후 조직의 지식 관리 차원에서 큰 도움이 됩니다. 

개인적으로는 이렇게 축적된 문서를 신입 직원 교육에 활용했습니다. 실질적인 사례이기도 하거니와, 자주 쓰는 패턴들을 쉽게 익힐 수 있는 기회니 그 호응도 매우 좋았던 경험이 있습니다. 

 

자동화된 도구는 기본으로 사용합니다. 도구들이 요즘은 아주 잘되어있습니다. 도움 받을 건 적극 받아야 한다고 생각합니다. 

 

반응형

관련글 더보기