J'ai entendu dire que Google a un référentiel privé (interne) géant de tout leur code et que leurs employés y ont accès afin que lorsqu'ils développent des choses, ils n'aient pas à réinventer la roue. J'aimerais en savoir plus!
Y a-t-il quelqu'un ici de Google qui peut le décrire plus en détail ou en savez-vous un peu plus? Je suis intéressé à savoir principalement comment il est organisé et comment il peut aider un employé à trouver quelque chose dans une base de code aussi géante qu'elle doit l'être.
Voici une vidéo expliquant comment il est organisé: Développement à la vitesse et à l'échelle de Google
Ashish Kumar présente comment Google parvient à conserver le code source de tous ses projets, sur 2000, dans un tronc de code unique contenant des centaines de millions de lignes de code, avec plus de 5000 développeurs accédant au même référentiel.
Pour la plupart, Google utilise une configuration Perforce . Cependant, il existe des outils internes pour faire fonctionner d'autres outils comme git. (Je ne sais pas comment ils y parviennent.) Cependant, les grands projets open source comme Android et Chromium ont des référentiels séparés.
Construit au-dessus de Perforce, il y a beaucoup d'applications internes stellaires . Par exemple, il existe des outils pour rendre la construction, les tests et les révisions de code rien de moins que magique.
En partie à cause de cette culture magique et des tests, Google n'utilise pas vraiment de branchement. Tout le monde vérifie "principal". Pour tout projet, vous pouvez voir la source, le construire et exécuter les tests unitaires sans aucune connaissance spécialisée. C'est énorme. Lorsque j'étais chez Microsoft, chaque produit nécessitait le sacrifice d'un animal différent pour construire et exécuter leurs tests serait hors de question.
En outre, Google a un --- à l'échelle de l'entreprise guide de style pour les principales langues que nous utilisons. si vous avez accès au code source d'une autre équipe, à quoi cela servirait-il si la mise en forme est complètement bancale!
En ce qui concerne la recherche, vous connaissez peut-être Google Code Search . Il existe une version spéciale de cela, ainsi que d'autres outils de recherche de code top-secret qui facilitent la navigation dans le code.
En bref, Google a une culture très centrée sur l'ingénierie qui comprend la valeur des outils et la productivité des développeurs.
C'est énorme:
(en janvier 2015)
- Nombre total de fichiers: 1 milliard
- Nombre de fichiers source: 9 millions
- Lignes de code: 2 milliards
- Profondeur de l'histoire: 35 millions de commits
- Taille du contenu: 86 téraoctets
- Engagements par jour ouvrable: 45 mille
Ils utilisent un outil interne appelé Piper, lui-même reposant sur l'infrastructure Google.
Source: Pourquoi Google stocke des milliards de lignes de code dans un référentiel unique