Google에 모든 코드를 저장할 수있는 거대한 개인 (내부) 저장소가 있으며 직원이 코드를 액세스 할 수 있으므로 개발 중에 바퀴를 재발 명할 필요가 없습니다. 그것에 대해 더 알고 싶습니다!
여기에 좀 더 자세하게 설명 할 수있는 사람이 있습니까? 아니면 조금 더 알고 있습니까? 나는 그것이 어떻게 구성되어 있고 직원이 거대한 코드베이스에서 무언가를 쉽게 찾을 수있게하는 방법에 대해 주로 알고 싶습니다.
Google에 모든 코드를 저장할 수있는 거대한 개인 (내부) 저장소가 있으며 직원이 코드를 액세스 할 수 있으므로 개발 중에 바퀴를 재발 명할 필요가 없습니다. 그것에 대해 더 알고 싶습니다!
여기에 좀 더 자세하게 설명 할 수있는 사람이 있습니까? 아니면 조금 더 알고 있습니까? 나는 그것이 어떻게 구성되어 있고 직원이 거대한 코드베이스에서 무언가를 쉽게 찾을 수있게하는 방법에 대해 주로 알고 싶습니다.
답변:
여기가 어떻게 구성되어 있는지 설명하는 영상입니다 : 구글의 속도와 규모로 개발
Ashish Kumar는 Google이 2000 개가 넘는 모든 프로젝트의 소스 코드를 수억 개의 코드 라인이 포함 된 단일 코드 트렁크에 보관하고 5,000 명 이상의 개발자가 동일한 저장소에 액세스하는 방법을 제시합니다.
대부분의 Google은 Perforce 설정을 사용합니다 . 그러나 git과 같은 다른 도구를 사용하기위한 내부 도구가 있습니다. (이것이 어떻게 달성되는지 모르겠다.) 그러나 안드로이드 와 크롬 과 같은 대규모 오픈 소스 프로젝트 에는 별도의 저장소가있다.
Perforce 위에 구축 된 수많은 훌륭한 내부 앱입니다. 예를 들어, 빌드, 테스트 및 코드 검토를위한 도구가 있습니다.
이러한 '마법'과 테스트 문화로 인해 Google은 실제로 분기를 사용하지 않습니다. 모두 '메인'에 체크인합니다. 모든 프로젝트에 대해 전문 지식없이 소스를보고 빌드하고 단위 테스트를 실행할 수 있습니다. 이것은 크다. 내가 Microsoft에있을 때 각 제품은 테스트를 구축하고 실행하기 위해 다른 동물의 희생이 필요했습니다.
또한 Google은 사용하는 주요 언어에 대한 전사적 스타일 가이드 를 제공합니다. 다른 팀의 소스 코드에 액세스 할 수 있다면 서식이 모두 문제가 될 수 있습니다!
검색에 대해서는 Google 코드 검색에 익숙 할 것 입니다. 코드를 훨씬 쉽게 탐색 할 수 있는 다른 일급 비밀 코드 검색 도구 와 함께 특별한 버전이 있습니다.
요컨대 Google은 도구의 가치와 개발자 생산성을 이해하는 매우 엔지니어링 중심의 문화를 가지고 있습니다.
엄청납니다 :
(2015 년 1 월 현재)
- 총 파일 수 : 10 억
- 소스 파일 수 : 9 백만
- 코드 라인 : 20 억
- 역사의 깊이 : 3 천 5 백만 커밋
- 내용의 크기 : 86 테라 바이트
- 근무 일당 약정 : 45 천
Google 인프라에 의존하는 Piper라는 내부 도구를 사용합니다.