it-swarm.it

Com'è il repository di Google?

Ho sentito che Google ha un gigantesco repository privato (interno) di tutto il loro codice e i loro dipendenti hanno accesso ad esso in modo che quando stanno sviluppando cose non debbano reinventare la ruota. Mi piacerebbe saperne di più!

C'è qualcuno qui da Google che può descriverlo in modo un po 'più dettagliato o ne conosci un po' di più? Sono interessato a sapere principalmente come è organizzato e come possono rendere facile per un dipendente trovare qualcosa in una base di codice così grande come deve essere.

62
Ricket

Ecco un video che spiega come è organizzato: Development at the Speed ​​and Scale of Google

Ashish Kumar presenta come Google riesce a mantenere il codice sorgente di tutti i suoi progetti, oltre 2000, in un unico trunk di codice contenente centinaia di milioni di righe di codice, con oltre 5.000 sviluppatori che accedono allo stesso repository.

37
Giorgi

Per la maggior parte di Google utilizza un'impostazione Perforce . Tuttavia, ci sono strumenti interni per far funzionare altri strumenti come git. (Come riescono a farlo, non lo so.) Tuttavia, grandi progetti open source come Android e Chromium hanno repository separati.

Sulla base di Perforce sono presenti molte stellari app interne. Ad esempio, ci sono strumenti per rendere la costruzione, i test e le revisioni del codice a dir poco magici.

In parte a causa di questa cultura della "magia" e dei test, Google non utilizza realmente le ramificazioni. Tutti fanno il check in "main". Per qualsiasi progetto è possibile visualizzare la fonte, crearla ed eseguire i test unitari senza alcuna conoscenza specializzata. Questo è enorme. Quando ero in Microsoft, ogni prodotto richiedeva il sacrificio di un animale diverso per costruire ed eseguire i loro test sarebbe stato fuori discussione.

Inoltre, Google ha una società guida di stile per le principali lingue che utilizziamo. se hai accesso al codice sorgente di un'altra squadra, quale sarebbe il punto se la formattazione fosse tutta traballante!

Per quanto riguarda la ricerca, potresti avere familiarità con Ricerca codice Google . Esiste una versione speciale di questo, insieme ad altri strumenti di ricerca del codice top-secret che rendono molto più semplice la navigazione del codice.

In breve, Google ha una cultura incentrata sull'ingegneria che comprende il valore degli strumenti e la produttività degli sviluppatori.

63
Chris Smith

È enorme:

(a gennaio 2015)

  • Numero totale di file: 1 miliardo
  • Numero di file di origine: 9 milioni
  • Linee di codice: 2 miliardi
  • Profondità della storia: 35 milioni di commit
  • Dimensione del contenuto: 86 terabyte
  • Impegni per giornata lavorativa: 45 mila

Usano uno strumento interno chiamato Piper, che si basa sull'infrastruttura di Google.

Fonte: Perché Google memorizza miliardi di righe di codice in un singolo repository

3