JavaRush /Java Blog /Random-KO /커피 브레이크 #38. 코드 검토란 무엇이며 왜 필요한가요? 사기꾼 증후군은 개발자의 가장 친한 친구입...

커피 브레이크 #38. 코드 검토란 무엇이며 왜 필요한가요? 사기꾼 증후군은 개발자의 가장 친한 친구입니다.

Random-KO 그룹에 게시되었습니다

코드 검토란 무엇이며 왜 필요한가요?

출처: DZone 스타트업을 시작하는 것은 어렵지만 이를 위한 소프트웨어를 작성하는 것은 쉽지 않습니다. 소프트웨어가 제대로 작동하려면 좋은 코드가 필요합니다. 하지만 코드가 정말 좋다고 어떻게 확신할 수 있나요? 클라이언트 코드로 작업하는 동안 우리는 많은 프리랜서 개발자와 심지어 IT 회사도 코드 검토를 무시한다는 사실을 발견했습니다. 글쎄, 우리 팀은 코드 검토를 표준 작업 단계로 간주하므로 우리의 관점을 설명하기로 결정했습니다. 커피 브레이크 #38.  코드 검토란 무엇이며 왜 필요한가요?  사기꾼 증후군은 개발자의 가장 친한 친구입니다 - 1그럼 몇 가지 기본 용어부터 시작하겠습니다.

코드 리뷰란 무엇입니까?

소프트웨어 소스 코드를 체계적으로 조사하여 오류를 찾아내고 품질을 평가하는 것입니다. 코드 검토는 다음 단계로 구성됩니다.
  • 작업을 완료하는 가장 효과적인 방법을 결정합니다.
  • 논리적 오류를 검색합니다.
  • 가장 일반적인 취약점을 검색하세요.
  • 맬웨어 탐지는 의심스러운 코드 조각을 찾거나 소프트웨어에 통합된 모든 맬웨어를 검색하는 특별한 유형의 코드 검사입니다.

코드 리뷰가 왜 필요한가요?

코드 검토가 개발의 필수 부분으로 간주되는 데에는 몇 가지 이유가 있습니다. 첫 번째 이유는 위험 감소입니다. 프리랜서나 에이전시가 작성한 소프트웨어가 있지만, 훌륭한 개발자라도 뭔가를 놓칠 수 있기 때문에 작업의 품질에 대해 확신이 없다고 가정해 보겠습니다. 따라서 다시 확인하는 것은 항상 좋은 생각입니다. 또한, 함께 협력하여 코드를 학습함으로써 각 팀원은 프로젝트의 전반적인 성능을 향상시킬 수 있는 보다 스마트한 솔루션을 생각해 낼 수 있습니다. 코드 검토에 대해 기억해야 할 가장 중요한 점은 새 개발 팀이 코드 기반이나 프로젝트를 시작하기 전에 수행해야 한다는 것입니다. 프로젝트를 시작하기 전 코드 검토를 통해 팀은 이를 검토하고 코드 품질과 개선이 필요한지 여부를 결정할 수 있습니다.

코드 리뷰 가이드

우리의 경험을 바탕으로 우리는 프로젝트의 소스 코드를 확인하려는 개발자를 위한 간단한 가이드를 준비하기로 결정했습니다.
코드 검토를 시간 간격으로 나누기
전체 프로젝트를 한 번에 분석하려고 하지 마십시오. 전문가들은 한 번에 400줄 이상의 코드를 검토하지 말 것을 권고합니다. 또한 일회성 확인에는 1시간 이상 소요되지 않습니다. 인간은 특히 장기간에 걸쳐 이 정도의 정보를 효율적으로 처리할 수 없습니다. 이 표시를 초과하면 오류 감지 능력이 현저히 떨어지므로 중요한 오류를 놓칠 수 있습니다.
팀원에게 도움을 요청하세요
머리 하나는 좋지만 두 개는 더 좋습니다. 이 프로세스를 다른 사람과 공유하면 리뷰 품질이 얼마나 향상되는지 놀랄 수 있습니다. 우리는 Atlassian의 Crucible을 사용하여 공동 코드 검토를 수행하는 데 익숙합니다 . 이 도구를 사용하면 추가 검토자를 할당하고 선택한 소스 코드 줄, 파일 또는 전체 변경 사항에 대해 논의할 수 있습니다. 협업적인 코드 리뷰는 소프트웨어를 향상시킬 뿐만 아니라 토론을 통해 지식을 공유함으로써 팀의 역량을 향상시킵니다.
녹화 표시
검토에 앞서 '불량률을 절반으로 줄인다' 등 정확한 목표를 세워야 한다. "더 많은 버그 찾기"라는 목표는 너무 추상적이어서 달성이 불가능합니다. 검토하는 동안 검사 속도, 시간당 발견된 오류 수, 코드 줄당 평균 오류 수와 같은 지표를 기록합니다. 지속적으로 검토 결과를 모니터링하면 내부 프로세스의 실제 상황을 확인할 수 있습니다.
긍정적인 태도를 유지하세요
코드 검토는 때때로 팀 내 관계를 악화시킬 수 있습니다. 비난받는 것을 좋아하는 사람은 아무도 없으므로 동료가 의욕을 잃지 않는 한 우호적인 분위기를 유지하는 것이 매우 중요합니다. 각 버그를 부정적으로 보는 대신 전체 코드 품질을 향상시킬 수 있는 새로운 기회로 생각하십시오.
오류 수정 프로세스 설정
귀하의 팀은 코드 검토를 완료했습니다. 발견된 버그를 수정하는 것은 어떻습니까? 모든 개발 팀이 발견된 오류를 수정하기 위한 확립된 방법을 갖고 있지 않다는 사실은 우리에게 놀라운 일이었습니다. 다행스럽게도 우리는 오류를 찾는 것뿐만 아니라 이를 수정하기 위해 공동으로 노력하고 있습니다. 모든 버그는 작성자와 논의되며(다른 팀의 코드를 검토하는 경우 제외) 모든 변경 사항은 소스에 푸시되기 전에 항상 승인됩니다.

요약

코드 검토는 고품질 코딩 표준을 유지하는 데 도움이 되므로 모든 개발 회사에서 중요한 프로세스입니다. 코드 검토를 위해 함께 작업하면 팀이 하나로 합쳐지고 회사 내에서 지식과 경험을 공유할 수 있는 기회가 제공됩니다. 따라서 스타트업을 운영하든 프로젝트를 다른 팀에 넘겨주든 항상 코드 검토를 수행하여 소프트웨어 품질이 최고인지 확인하세요.

사기꾼 증후군은 개발자의 가장 친한 친구입니다.

출처: Catalins.tech 제목을 읽고 나면 제가 뭔가 문제가 있다고 생각하실 수도 있습니다. 하지만 다시 말씀드리지만, 사기꾼 증후군은 올바른 방향으로 전달된다면 개발자의 가장 친한 친구입니다. 또한 나는 사기꾼 증후군이 소프트웨어 개발에 널리 퍼져 있다고 생각합니다. 그 이유는 필요한 지식의 양이 엄청나게 많고 도구와 프로그래밍 언어의 끊임없는 변화 때문입니다. 커피 브레이크 #38.  코드 검토란 무엇이며 왜 필요한가요?  사기꾼 증후군은 개발자의 가장 친한 친구입니다 - 2현재 사용하는 프로그래밍 언어와 도구는 1년 안에 최신 버전이 아닐 수 있습니다. 이는 다시 어느 정도 "처음부터 시작"해야 함을 의미합니다. 소프트웨어 개발은 ​​끊임없이 학습해야 하는 매우 역동적인 환경입니다. 그러나 어려움에도 불구하고 익숙해질 수 있습니다. 따라서 사기꾼 증후군을 제거하는 것은 거의 불가능합니다. 그렇다면 그것과 함께 사는 법을 배우지 않겠습니까?

우리 대부분은 그것을 가지고 있습니다

다른 것을 말씀 드리겠습니다. 우리 대부분은 사기꾼 증후군을 앓고 있습니다. 항상 우리보다 나은 사람이 있습니다. 우리가 모르는 것이 항상 있습니다. 항상 배울 것이 있습니다. 매일 새로운 도구가 나옵니다. 때때로 새로운 기술이나 프로그래밍 언어가 등장합니다. 결코 다 배울 수는 없습니다. 따라가려고 노력하는 것도 매우 어렵습니다. 그리고 이것이 증후군이 나타나는 방식입니다. 스스로에게 질문하기 시작합니다. "내가 이것을 할 수 있을까?", "x, y, z를 할 수 있을까?", "x, y, z 기술을 인식할 수 있을까?" ", "내가 사기꾼이면 어쩌지?" 등의 목록이 이어집니다. 대답은 그렇습니다. 그렇습니다. 그건 그렇고, 사기꾼 증후군은 이 분야에서 결코 성공하지 못할 것이라고 생각하는 초보자에게는 더 나쁩니다. 나도 이것을 겪었다. 열심히 노력하면 증후군을 극복할 수 있습니다.

상상하다

스스로에게 이러한 질문을 하는 사람은 당신뿐만이 아닙니다. 당신의 직장 동료도 같은 문제를 안고 있습니다. 귀하가 트위터에서 팔로우하는 개발자도 비슷한 질문을 갖고 있습니다. 그리고 구독자 50,000명을 보유한 비디오 블로거입니다. 그리고 나는 직업이 있고 모든 것이 괜찮지만 이러한 질문도 내 앞에 나타납니다. 질문은 당신만을 괴롭히는 것이 아닙니다. 사기꾼 증후군은 우리 직업의 일부입니다. 물론 어떤 사람들은 그것을 더 잘 처리하기 때문에 그들에게도 문제가 있다는 것이 그렇게 명백하지는 않습니다. 하지만 저를 믿으십시오. 거의 모든 사람이 그것을 가지고 있습니다.

무엇을 해야 할까요?

우선, 사기꾼 증후군이 가장 친한 친구가 될 수 있다는 점을 이해해야 합니다. 결국, 그는 당신이 더 나아지도록 밀어붙입니다. 자신이 업계에 적합하지 않거나 아는 것이 많지 않다는 느낌은 더 많은 것을 배우려는 동기가 될 수 있습니다. 결과적으로 당신은 매일 더 좋아지고 있습니다. 나는 사기꾼 증후군을 더 나은 개발자가 되기 위한 연료이자 동기로 사용하는데, 그것은 매우 잘 작동합니다. 하지만 조심하세요. 금방 지치게 될 수 있습니다. 저를 믿으세요. 이건 필요하지 않습니다. 질문과 불합리한 생각이 머릿속에 떠오를 때마다 모든 개발자가 같은 증후군을 앓고 있다는 점을 기억하세요. 항상 당신보다 더 나은 개발자가 있다는 것을 기억하십시오. 하지만 당신보다 더 나쁜 개발자도 항상 있다는 것을 기억하세요. 당신은 결코 모든 것을 알 수 없다는 것을 기억하십시오. 그래도 괜찮습니다. 귀하의 업무와 관련된 몇 가지 도구만 알면 됩니다. 꾸준히 노력하면 좋은 개발자가 될 수 있습니다. 당신은 최고의 프로그래머가 될 것이라고 생각하십니까? 아마도 그렇지 않을 것입니다. Amazon/Facebook/Google/Apple에서 일하시겠습니까? 아마도 그렇지 않을 것입니다. 수백만 달러를 벌 수 있습니까? 거의 ~ 아니다. 하지만 그거 알아요? 이건 괜찮아. 좋은 개발자가 되기 위해 이런 일을 할 필요는 없습니다. 실제로 우리 대부분은 이러한 목표를 모두 달성하지 못하기 때문입니다.

기억하다

  1. 우리 대부분은 사기꾼 증후군을 앓고 있습니다.
  2. 당신의 인내를 통해 이 업계에서 성공할 수 있습니다.
  3. 당신은 모든 것을 결코 알지 못할 것입니다. 그래도 괜찮습니다.
  4. 당신보다 더 나은 개발자는 항상 있지만, 당신보다 더 나쁜 개발자도 있습니다.
  5. 슈퍼스타 프로그래머가 될 필요는 없습니다. 당신의 일을 잘하는 것만으로도 충분합니다.
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION