it-swarm-eu.dev

Wie ist das Repository von Google?

Ich habe gehört, dass Google über ein riesiges privates (internes) Repository für den gesamten Code verfügt und die Mitarbeiter Zugriff darauf haben, damit sie bei der Entwicklung von Dingen das Rad nicht neu erfinden müssen. Ich würde gerne mehr darüber wissen!

Gibt es hier jemanden von Google, der es etwas detaillierter beschreiben kann, oder wissen Sie etwas mehr darüber? Ich bin hauptsächlich daran interessiert zu wissen, wie es organisiert ist und wie es einem Mitarbeiter leicht gemacht werden kann, etwas in einer so riesigen Codebasis zu finden, wie es sein muss.

62
Ricket

Hier ist ein Video, das erklärt, wie es organisiert ist: Entwicklung mit der Geschwindigkeit und dem Maßstab von Google

Ashish Kumar stellt vor, wie Google es schafft, den Quellcode aller seiner Projekte über 2000 in einem einzigen Code-Trunk mit Hunderten von Millionen Codezeilen zu speichern, wobei mehr als 5.000 Entwickler auf dasselbe Repository zugreifen.

37
Giorgi

Für die meisten verwendet Google ein Perforce Setup. Es gibt jedoch interne Tools, mit denen andere Tools wie git darauf arbeiten können. (Wie sie dies erreichen, weiß ich nicht.) Große Open-Source-Projekte wie Android und Chromium haben jedoch separate Repositorys.

Auf Perforce basieren viele herausragende interne Apps. Zum Beispiel gibt es Tools, mit denen das Erstellen, Testen und Überprüfen von Codes geradezu magisch wird.

Teilweise aufgrund dieser "magischen" und Testkultur verwendet Google die Verzweigung nicht wirklich. Jeder checkt in 'main' ein. Für jedes Projekt können Sie die Quelle anzeigen, erstellen und die Komponententests ohne spezielle Kenntnisse ausführen. Das ist riesig. Als ich bei Microsoft war, musste für jedes Produkt ein anderes Tier geopfert werden, um die Tests zu erstellen und durchzuführen.

Außerdem hat Google ein unternehmensweites Styleguide für die wichtigsten Sprachen, die wir verwenden. Wenn Sie Zugriff auf den Quellcode eines anderen Teams haben, was wäre der Punkt, wenn die Formatierung nur wackelig wäre?

Bei der Suche sind Sie möglicherweise mit Google Code Search vertraut. Es gibt eine spezielle Version davon, zusammen mit anderen streng geheimen Codesuchwerkzeugen, die das Navigieren im Code viel einfacher machen.

Kurz gesagt, Google hat eine sehr ingenieurorientierte Kultur, die den Wert von Tools und die Entwicklerproduktivität versteht.

63
Chris Smith

Es ist riesig:

(Stand Januar 2015)

  • Gesamtzahl der Dateien: 1 Milliarde
  • Anzahl der Quelldateien: 9 Millionen
  • Codezeilen: 2 Milliarden
  • Tiefe der Geschichte: 35 Millionen Commits
  • Inhaltsgröße: 86 Terabyte
  • Commits pro Arbeitstag: 45 Tausend

Sie verwenden ein internes Tool namens Piper, das sich auf die Google-Infrastruktur stützt.

Quelle: Warum Google Milliarden von Codezeilen in einem einzigen Repository speichert

3