web-dev-qa-db-fra.com

Quel est le flux de travail avec 2 personnes sur un projet

Je viens à vous en tant que programmeur de débutant qui travaille sur son propre projet (qui progresse bien). Mon co-fondateur a également appris à programmer et a atteint un point où il pourrait probablement commencer à réparer certaines choses et à faire de certaines choses.

Il a posé une très bonne question, qui était "comment va ce travail". Quelque chose que je pouvais seulement théoriser comme je n'ai jamais programmé avec quelqu'un d'autre. Pourriez-vous me conseiller sur le meilleur flux de travail. Nous utilisons git.

Devrions-nous posséder des parties spécifiques du système? Vérification du code dans? Examen de code?

Comment travaillez-vous avec> 1 dev?

18
Geoff Wright

Je travaille dans une équipe qui utilise GIT, où plus de 40 développeurs travaillent sur plusieurs référentiels de code (100+) à tout moment donné. Nous avons également commencé avec très peu de développeurs, en développant la taille de l'équipe dans une période de quelques années. Au début, avec peu de gens, vous pouvez vous éloigner avec un minimum de git nu. Au fil du temps, vous améliorerez votre git FU, découvrant des fonctionnalités puissantes.

  1. Vous aurez besoin d'un endroit pour héberger votre code. Pensez à utiliser GitHub ou Gitorious . Les deux sont libres d'utiliser, mais vos référentiels seront publics et visibles pour les autres. Si vous souhaitez des référentiels privés vous pouvez les héberger gratuitement sur GitHUB ou Installez et héberge votre propre serveur gitorieux .
  2. Au début, il vaut mieux ne pas s'inquiéter des flux de travail avancés qui impliquent le fourrage, tirent des demandes. Vous pouvez commencer par utiliser Git de manière centralisée (frisson!). Traitez votre copie hébergée comme copie faisant autorité de votre code source. Permet d'appeler ce référentiel upstream.
  3. L'un de vous commettre tout le code à un référentiel git local et le pousser à ce référentiel upstream.
  4. L'autre membre de l'équipe peut cloner ce référentiel.
  5. Un ensemble de commandes minimales dont vous aurez besoin d'apprendre est clone, pull, Push, add, commit, log, status, diff, branch, stash, apply, reset, format-patch, branch. En savoir plus sur eux du gittorial .
  6. L'un de vous peut maintenant travailler sur n'importe quelle partie du code. Ne vous inquiétez pas, que se passe-t-il lorsque vous modifiez le même fichier. Git est vraiment bon pour la manipulation des fonts et la fixation des conflits.
  7. Faites de petits commits atomiques et écrivez de bons messages de journal. Utilisez le temps actuel pour commettre des journaux. Vous pouvez faire un nombre quelconque de commits à mesure que vous aimez votre copie locale car cela n'affecte pas le travail de l'autre personne.
  8. Lorsque vous pensez que votre code est prêt à être partagé avec d'autres, publiez-le au référentiel upstream. Une bonne pratique est de Tenez toujours avant de pousser. De cette façon, vous gardez votre référentiel en synchronisation avec d'autres modifications.
  9. Répétez les étapes 7 et 8.

Une fois que vous êtes à l'aise avec ce flux de travail, vous pouvez progresser dans des trucs plus avancés tels que les branches topiques, le forking, les demandes de tirage, la fusion, les commissions de manière interactive, etc.

Si vous voulez vraiment des critiques de code, il est faisable avec Git et email seul. Lorsque votre taille de votre équipe augmente au-delà de 10+, cela est idéalement fait mieux avec une sorte d'outil en ligne. Donc, dans la pratique, il existe de nombreuses façons de faire cela, ce qui n'est qu'un moyen simple:

  1. Créer un ensemble de commits pour être examiné avec git format-patch. Cela générera un ensemble de fichiers de correctifs. Email ces patchs à l'examinateur.
  2. Le critique peut appliquer les correctifs avec git apply. Cela applique le patch mais ne crée pas de commit.
  3. Examinez le code et envoyez un courrier électronique avec des suggestions.
  4. Répétez 1-2-3 jusqu'à ce que satisfaisant.
  5. Le critique confirme que les correctifs peuvent être poussés upstream.
23
Ocaj Nires

J'utilise GitHub et toutes ses fonctionnalités pour cela. Vérifiez-le à - http://www.github.com/ afin que vous puissiez utiliser des succursales, des fourches, des problèmes, des demandes de tirage avec votre partenaire.

2
ben

La première chose que je ferais est de regarder dans un référentiel de code central afin que les modifications puissent être fusionnées et maintenues en synchronisation entre vos deux projets. SVN est un bon facile que j'ai utilisé dans le passé et cela fait assez longtemps que c'est assez mature SVN .

Après cela, je vous identifierais entre vous deux les rôles que vous allez jouer, c'est-à-dire.

  1. Allez-vous écrire des fonctionnalités du code en tandom ou une personne va faire des corrections de bugs tandis que l'autre continue avec des fonctionnalités.
  2. Voulez-vous créer un ensemble de normes de codage de base I.e. Position BRACE, NAMING VARIAIBLE DE MEMBRE PRIVAIBLE, Convention de dénomination variable et méthode (Camelcase, etc.)
  3. À quelle fréquence devez-vous vous enregistrer. Je suggérerais au moins une fois par jour pour vous assurer que vous voyez tous les deux ce que l'autre fait particulièrement tôt. Bien que toujours assurer avant un checkin, le code est construit.
  4. C'est le patron, mais allez-vous être le plomb de programmation?

Bonne chance!

0
dreza