Słyszałem, że Google ma gigantyczne prywatne (wewnętrzne) repozytorium całego swojego kodu, a ich pracownicy mają do niego dostęp, dzięki czemu, gdy rozwijają rzeczy, nie muszą wymyślać na nowo koła. Chciałbym dowiedzieć się więcej na ten temat!
Czy jest tu ktoś z Google, który mógłby opisać to bardziej szczegółowo, czy wiesz coś więcej na ten temat? Chciałbym wiedzieć głównie o tym, jak to jest zorganizowane i jak może ułatwić pracownikowi znalezienie czegoś w tak ogromnej bazie kodów, jak to musi być.
version-control
google
Ricket
źródło
źródło
Odpowiedzi:
Oto wideo wyjaśniające, jak to jest zorganizowane: Rozwój w szybkim tempie i na skalę Google
źródło
W większości przypadków Google używa konfiguracji Perforce . Istnieją jednak wewnętrzne narzędzia umożliwiające działanie innych narzędzi, takich jak git. (Nie wiem, jak to osiągają). Duże projekty typu open source, takie jak Android i Chromium, mają jednak osobne repozytoria.
Zbudowany na szczycie Perforce wiele gwiazd aplikacjach wewnętrznych. Na przykład istnieją narzędzia, dzięki którym budowanie, testowanie i przeglądanie kodu jest niczym magicznym.
Częściowo z powodu tej „magii” i kultury testowania, Google tak naprawdę nie używa rozgałęzień. Wszyscy meldują się w „głównym”. Dla każdego projektu możesz zobaczyć źródło, zbudować je i uruchomić testy jednostkowe bez specjalistycznej wiedzy. To jest ogromne. Kiedy pracowałem w Microsoft, każdy produkt wymagał poświęcenia innego zwierzęcia, aby zbudować i uruchomić ich testy nie wchodziło w rachubę.
Ponadto Google ma przewodnik po stylu dla głównych języków, których używamy. jeśli masz dostęp do kodu źródłowego innego zespołu, jaki byłby sens, gdyby całe formatowanie było nieporadne!
Jeśli chodzi o wyszukiwanie, być może znasz Google Code Search . Istnieje specjalna wersja tego, wraz z innymi ściśle tajnymi narzędziami do wyszukiwania kodu, które znacznie ułatwiają nawigację.
Krótko mówiąc, Google ma bardzo skoncentrowaną na inżynierii kulturę, która rozumie wartość narzędzi i produktywność programistów.
źródło
Jest ogromny:
Korzystają z wewnętrznego narzędzia o nazwie Piper, które samo polega na infrastrukturze Google.
Źródło: Dlaczego Google przechowuje miliardy linii kodu w jednym repozytorium
źródło