코드 검토를 통해 배운 5가지 교훈
“이 프로젝트의 코드 리뷰는 시간 낭비입니다.”
“코드 리뷰를 할 시간이 없습니다.”
“나의 못된 동료가 아직 내 코드를 검토하지 않았기 때문에 출시가 지연되었습니다.”
“내 동료가 나에게 코드를 변경하라고 요청했다는 것을 믿을 수 있습니까? 그래도 코드를 변경해야 하나요?”
왜 코드 리뷰를 해야 하나요?
전문 소프트웨어 개발자의 가장 중요한 목표 중 하나는 작업 품질을 지속적으로 개선하는 것입니다. 하지만 팀워크를 통해서만 우리의 노력을 한 곳에 집중하고 소프트웨어 품질을 향상시킬 수 있습니다. 코드 검토는 이 목표를 달성하는 가장 중요한 방법 중 하나입니다. 특히 코드 검토를 통해 다음을 수행할 수 있습니다.
다른 관점에서 결함과 더 나은 솔루션을 발견합니다.
귀하의 코드를 잘 아는 사람이 한 명 이상 있는지 확인하세요.
선임 개발자의 코드를 통해 신입사원 교육을 도와주세요.
지식 공유를 장려합니다.
검토 중에 다른 사람에게 들키지 않도록 개발자가 더 나은 코드를 작성하고 코드의 문제를 해결하도록 동기를 부여하세요.
코드 리뷰는 철저해야 합니다
그러나 실제로 코드 리뷰에 시간과 에너지를 쏟지 않으면 위의 목표는 달성하기 어렵습니다.
제 생각에는 원래 개발 시간의 약 25%를 코드 검토에 투자해야 한다는 것입니다. 예를 들어 개발자가 프로그램을 구현하는 데 이틀이 걸린다면 검토하는 데 약 4시간이 걸립니다.
물론 시간이 가장 중요한 것은 아닙니다. 중요한 것은 코드를 올바르게 검토할 수 있는지 여부입니다. 검토 중인 코드를 이해해야 합니다. 즉, 해당 구문을 알아야 할 뿐만 아니라 코드가 애플리케이션의 컨텍스트에 어떻게 적합하고 구성 요소나 라이브러리의 일부가 되는지 이해해야 합니다. 각 코드 줄의 의미를 파악할 수 없다면 검토가 적절하지 않으며 그다지 가치가 없을 것입니다. 이것이 바로 잘 실행된 코드 검토를 신속하게 완료하는 것이 대부분 불가능한 이유입니다. 타사 API가 올바르게 사용되는지 확인하기 위해 특정 기능을 트리거하는 다양한 코드를 연구하는 데 시간이 필요하기 때문입니다.
검토할 때 코드 결함 및 기타 문제를 찾는 것 외에도 다음 사항도 확인해야 합니다.
필요한 모든 테스트를 포함합니다.
적절한 디자인 문서가 작성되었습니다.
테스트와 문서 작성에 능숙한 개발자라도 코드를 변경할 때 코드 업데이트를 잊어버리는 경우가 많습니다. 코드 검토를 통해 이 정보가 시간이 지나도 쓸모 없게 되지 않도록 해야 합니다.
과도한 코드 검토를 피하세요
개발자는 검토 작업의 백로그를 정리하기 위해 노력해야 합니다. 한 가지 접근 방식은 아침에 코드 검토를 수행하고 자체 개발 작업을 시작하기 전에 검토를 완료하는 것입니다. 물론 점심 식사 전후나 하루가 끝날 때에도 코드를 검토할 수 있습니다. 전체적으로 코드를 부담이 아닌 일상 작업의 일부로 다루어야 하므로 다음을 피해야 합니다.
검토 작업의 백로그를 처리할 시간이 없습니다.
심사 미비로 출시가 늦어졌습니다.
귀하에게 전달된 후 인식할 수 없을 정도로 변경된 관련 없는 코드를 다시 검토하는 것은 어리석은 일입니다.
시간관계상 급하게 모션을 진행했습니다.
검토 가능한 코드 작성
제어할 수 없는 코드 백로그 문제에 책임이 있는 사람은 리뷰어뿐만이 아닙니다. 예를 들어, 동료가 대규모 프로그램에 지저분한 코드를 추가하는 데 일주일을 소비했다면 릴리스된 패치는 검토하기 어려워지고 이해하고 조사해야 할 콘텐츠가 너무 많아지게 됩니다. 코드의 목적과 기본 구조조차 불분명합니다. 이것은 코드 작성이 하는 일이 아닙니다.
검토 가능한 코드를 작성하기 전에 몇 가지 준비를 해야 합니다. 어려운 아키텍처 결정을 내려야 하는 경우 먼저 검토자와 논의하는 것이 가장 좋습니다. 이렇게 하면 코드를 더 쉽게 검토하고 이해할 수 있습니다. 왜냐하면 그들은 여러분이 달성하려는 목표와 달성 방법을 미리 알고 있기 때문입니다. 또한 나중에 검토자가 완전히 다르고 더 나은 접근 방식을 제시하는 경우 코드의 상당 부분을 다시 작성하지 않아도 됩니다.
프로젝트 아키텍처는 디자인 문서에 자세히 설명되어야 합니다. 이는 새로운 프로젝트 직원이 기존 코드 베이스를 더 빨리 이해할 수 있게 하고 검토자가 업무를 더 잘 수행하는 데 도움이 되기 때문에 중요합니다. 또한 단위 테스트를 통해 검토자는 개별 구성 요소의 사용법을 더 잘 이해할 수 있습니다.
패치에 타사 코드도 포함된 경우 별도로 제출하세요. 코드 중간에 jQuery 9,000줄을 삽입한다면 검토 난이도가 크게 높아질까요?
검토 가능한 코드를 만드는 가장 중요한 단계 중 하나는 코드 검토에 주석을 다는 것입니다. 이를 위해서는 직접 사전 검토한 다음 검토자가 이해하는 데 도움이 될 것이라고 생각되는 곳에 의견을 추가해야 합니다. 주석 후 코드 검토에는 상대적으로 시간이 거의 걸리지 않습니다(보통 몇 분). 물론 적절한 경우 코드 주석을 계속 사용해야 합니다. 또한, 연구에 따르면 개발자 자신이 코드에 주석을 달 때 기존 결함을 많이 발견하게 되는 것으로 나타났습니다.
코드 리팩토링
때로는 코드 베이스를 리팩터링해야 할 때도 있습니다. 대규모 애플리케이션이 발생하는 경우 며칠(또는 그 이상)이 걸리고 많은 수의 패치가 생성될 수 있습니다. 이 경우 코드 검토를 위한 표준 프로세스를 구현하는 것이 비현실적일 수 있습니다.
가장 좋은 해결책은 코드를 점진적으로 리팩터링하는 것입니다. 먼저 합리적인 범위를 지정하고 해당 코드 베이스를 결정한 다음 목표 방향으로 수정 및 재구성합니다. 첫 번째 부분이 완료되면 검토하고 게시한 다음 두 번째 부분을 리팩터링하여 모두 완료될 때까지 진행하세요. 이러한 단계적 접근 방식이 항상 가능한 것은 아니지만, 생각하고 계획할 때 이 접근 방식을 사용하면 리팩토링 시 대규모 모놀리식 패치를 피할 수 있습니다. 물론 이 접근 방식에는 리팩토링 시간이 더 많이 필요할 수 있지만 더 높은 품질의 코드가 생성되고 검토 프로세스가 더 쉬워집니다.
코드의 증분 리팩토링이 여전히 가능하지 않다면 또 다른 해결책은 페어 프로그래밍입니다.
분쟁 해결
팀원 모두가 재능이 있다는 것은 의심의 여지가 없지만 특정 코딩 문제에 직면할 때 이는 쉽게 의견 차이로 이어질 수도 있습니다. 개발자로서 우리는 열린 마음을 갖고 리뷰어의 다양한 의견을 기꺼이 수용해야 합니다.
리뷰어로서 재치 있게 말해야 합니다. 제안을 하기 전에 자신의 의견이 정말 더 나은지 아니면 단지 취향이 다른 것인지 생각해 보세요. 실제로 개선이 필요한 코드 영역을 선택하면 전체 설득 프로세스가 훨씬 간단해집니다. 그리고 "눈을 감고 작성한 알고리즘이 당신의 것보다 더 효율적일 수 있다"보다는 "여기서 고려해 볼 가치가 있다...", "누군가가 제안한..."과 같은 말을 해야 합니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











코드 리뷰 실습을 위해 Go 언어를 사용하는 방법 소개: 소프트웨어 개발 과정에서 코드 리뷰(CodeReview)는 중요한 실습입니다. 팀원들은 서로의 코드를 검토하고 분석함으로써 잠재적인 문제를 식별하고, 코드 품질을 개선하고, 팀워크를 강화하고, 지식을 공유할 수 있습니다. 이 기사에서는 코드 검토 실습에 Go 언어를 사용하는 방법을 소개하고 코드 예제를 첨부합니다. 1. 코드 리뷰의 중요성 코드 리뷰는 코드 품질을 높이는 모범 사례입니다. 코드에서 잠재적인 오류를 찾아 수정하고 코드를 개선할 수 있습니다.

Java 개발에서 코드 검토 및 성능 최적화를 수행하려면 일상적인 Java 개발 프로세스에서 특정 코드 예제가 필요합니다. 코드 검토 및 성능 최적화는 매우 중요한 연결 고리입니다. 코드 검토를 통해 코드의 품질과 유지 관리성을 보장할 수 있으며, 성능 최적화를 통해 시스템의 운영 효율성과 응답 속도를 향상할 수 있습니다. 이 기사에서는 Java 코드 검토 및 성능 최적화를 수행하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 코드 검토 코드 검토는 코드가 작성될 때마다 코드를 한 줄씩 확인하고 잠재적인 문제와 오류를 수정하는 프로세스입니다. 다음과 같은

Python 개발 경험 공유: 코드 검토 및 품질 보증 수행 방법 소개: 소프트웨어 개발 프로세스에서 코드 검토와 품질 보증은 중요한 연결 고리입니다. 좋은 코드 검토는 코드 품질을 향상시키고 오류와 결함을 줄이며 프로그램 유지 관리성과 확장성을 향상시킬 수 있습니다. 이 기사에서는 다음과 같은 측면에서 Python 개발의 코드 검토 및 품질 보증 경험을 공유합니다. 1. 코드 검토 사양 개발 코드 검토는 코드에 대한 포괄적인 검사와 평가가 필요한 체계적인 활동입니다. 코드 리뷰를 표준화하기 위해

예, 코드 검토와 지속적인 통합을 결합하면 코드 품질과 전달 효율성을 향상시킬 수 있습니다. 특정 도구는 다음과 같습니다: PHP_CodeSniffer: 코딩 스타일과 모범 사례를 확인합니다. PHPStan: 오류 및 사용되지 않는 변수를 감지합니다. 시편: 유형 검사 및 고급 코드 분석을 제공합니다.

C# 개발 프로세스에서는 코드 품질 보증이 중요합니다. 코드 품질은 소프트웨어의 안정성, 유지 관리성 및 확장성에 직접적인 영향을 미칩니다. 중요한 품질 보증 방법으로서 코드 리뷰는 소프트웨어 개발에 있어서 무시할 수 없는 역할을 합니다. 이 문서에서는 개발자가 코드 품질을 향상시키는 데 도움이 되는 C# 개발 시 코드 검토 고려 사항에 중점을 둡니다. 1. 리뷰의 목적과 의의 코드 리뷰란 코드를 주의 깊게 읽고 점검하여 기존의 문제점과 오류를 발견하고 수정하는 과정을 말합니다. 주요 목적은 개선하는 것입니다.

React 코드 검토 가이드: 프런트 엔드 코드의 품질과 유지 관리 가능성을 보장하는 방법 소개: 오늘날의 소프트웨어 개발에서 프런트 엔드 코드는 점점 더 중요해지고 있습니다. 널리 사용되는 프런트엔드 개발 프레임워크인 React는 다양한 유형의 애플리케이션에서 널리 사용됩니다. 그러나 React의 유연성과 강력함으로 인해 고품질의 유지 관리 가능한 코드를 작성하는 것이 어려울 수 있습니다. 이 문제를 해결하기 위해 이 기사에서는 React 코드 검토에 대한 몇 가지 모범 사례를 소개하고 구체적인 코드 예제를 제공합니다. 1. 코드 스타일

GitLab에서 코드 검토 및 병합 요청을 수행하는 방법 코드 검토는 팀이 잠재적인 문제를 식별하고 코드 품질을 향상시키는 데 도움이 될 수 있는 중요한 개발 방식입니다. GitLab에서는 병합 요청(MergeRequest) 기능을 통해 코드 리뷰 및 병합 작업을 쉽게 진행할 수 있습니다. 이 문서에서는 구체적인 코드 예제를 제공하면서 GitLab에서 코드 검토 및 병합 요청을 수행하는 방법을 설명합니다. 준비: GitLab 프로젝트를 생성했고 관련 파일이 있는지 확인하세요.

C++ 코드의 코드 검토를 수행하는 방법은 무엇입니까? 코드 검토는 소프트웨어 개발 프로세스에서 매우 중요한 부분으로, 개발 팀이 잠재적인 오류를 식별 및 수정하고, 코드 품질을 개선하고, 후속 유지 관리 및 디버깅 작업량을 줄이는 데 도움이 될 수 있습니다. C++와 같은 강력한 형식의 정적 언어의 경우 코드 검토가 특히 중요합니다. 효과적인 C++ 코드 검토를 수행하는 데 도움이 되는 몇 가지 주요 단계와 고려 사항은 다음과 같습니다. 코드 검토 표준 설정: 코드 검토를 수행하기 전에 팀은 다양한 오류 및 위반에 동의하기 위한 코드 검토 표준을 공동으로 개발해야 합니다.
