코드리뷰는 소프트웨어 개발 과정에서 개발자들이 서로의 코드를 검토하고 피드백을 주고받는 활동을 의미합니다.
이는 품질 향상, 버그 예방, 팀 내 지식 공유 등을 목적으로 하는 중요한 협업 방법입니다.
코드 리뷰는 필수적인 활동을 여겨집니다.
방법 중에 페어 프로그램은 한때 유행했던 적이 있지만, 근래에는 잘 사용되지 않고 있습니다.
그래도, 급하게 수정되어야 할 것들이 생기면 사용되기도 합니다.
개인적으로, "병풍 코딩"이라고 부르는 방식입니다.
조직마다 코드 리뷰하는 방식에 차이가 좀 있는 것 같습니다. Full Request 방식은 개발 조직이 크고, 조직원들의 실력이 어느 정도 뒷받침된 상황에서 시행하는 것 같고, 작은 조직이나 초급분들이 많은 조직은 회의실에 모두 모여 진행하는 경우가 많은 것 같습니다.
아무래도 공통된 지식을 전파해야 하는 경우가 많기 때문인 것 같습니다.
코그 리뷰는 서로에게 상처 주기도 쉽고 받기도 쉬운 활동 같습니다.
"오픈 마인드"를 가지라고 말은 하지만, 막상 본인이 작성한 코드에 문제 제기가 발생하면 마음 편하지 않습니다. 마음이 안 편하니 말도 좋지 않게 나오기도 합니다. 그래서 코드 리뷰는 조심스럽게 진행해야 할 활동 중에 하나입니다.
개인적으로는 중급 이상의 개발자들은 Full Request 방식을 초급이나 중급 정도의 개발자들과는 주기적으로 회의실에 모여 코드를 다 함께 봤습니다. 물론, 모든 코드를 검토하진 못하니 미리 선별해 놓은 코드 중심으로 진행합니다.
이때 더불어 추천하는 방법은 코드 리뷰에서 거론된 디자인 패턴이나, 특이점 등을 기록하는 것입니다.
이렇게 기록된 부분들은 이후 조직의 지식 관리 차원에서 큰 도움이 됩니다.
개인적으로는 이렇게 축적된 문서를 신입 직원 교육에 활용했습니다. 실질적인 사례이기도 하거니와, 자주 쓰는 패턴들을 쉽게 익힐 수 있는 기회니 그 호응도 매우 좋았던 경험이 있습니다.
자동화된 도구는 기본으로 사용합니다. 도구들이 요즘은 아주 잘되어있습니다. 도움 받을 건 적극 받아야 한다고 생각합니다.
테스트 코드-목표, 수행시점, 의견 (0) | 2024.01.13 |
---|---|
CI/CD-목적,주요점,의견 (0) | 2024.01.12 |
BTS(Bug Tracking System)-주요요소,주의점,의견 (0) | 2024.01.10 |
애자일 JIRA-주요기능, 예시, 의견 (0) | 2024.01.09 |
UML - 목적, 활용방법, 의견 (0) | 2024.01.08 |