50 votes

Plusieurs programmeurs en développement logiciel. Comment travaillons-nous sur le même code et nous assurons-nous qu'il est toujours mis à jour?

Cela semble être quelque chose que je devrais savoir maintenant, mais pour une raison que je ne pas. Je suis aussi de ne pas avoir beaucoup de chance de la recherche sur le sujet.

Un ami et moi sommes au début d'un projet simple ensemble en dehors du travail, nous sommes tous les deux très jeunes dans le monde de la programmation et que vous voulez prendre sur un simple projet éducatif de notre temps libre... Ma question est, nous voulons être en mesure de travailler sur le même projet, et les fichiers seront mis à jour en conséquence, sans avoir constamment à partager des fichiers avec les autres. Je suis certain qu'il existe des logiciels qui n'existe qu'à cette fin, ou une sorte de client de partage que nous pourrions utiliser. Le problème est, je ne sais pas par où commencer à chercher.

Quelques conseils simples sur la façon ou à utiliser pour aider ce projet à aller plus en douceur. Et c'est une grande partie de la raison pour laquelle nous faisons en premier lieu.

Mise à jour:

Après quelques recherches, je me suis installé sur Tortoise SVN. La simple clic droit addon pour windows pour mettre à jour/validation des fichiers de votre serveur d'hébergement est très facile et convivial..

43voto

ดาว Points 7105

Sonne comme vous avez besoin d'un contrôle de source de! Avez-vous regardé dans la Subversion (SVN) ? Il s'agit d'un impressionnant Windows client pour qu'il appelle TortoiseSVN. Les deux sont gratuits et open source.

Vous devez configurer un serveur Subversion sur une de vos machines, ou sur un serveur web quelque part. Puis, tous deux, vous validez vos modifications sur le serveur à intervalles réguliers, et le serveur gère les choses comme révision, les commentaires que vous attachez à la commet etc. Avec le client, vous pouvez faire des choses comme voir la diff entre les révisions et la fusion des modifications (automatiquement ou manuellement), à l'intérieur des fichiers. Elle permet aussi d'ajouter d'autres devs à votre projet, il suffit de leur donner l'accès à votre serveur Subversion. Il y a SVN plugins pour Eclipse et Visual Studio, ou vous pouvez utiliser TortoiseSVN qui peut fonctionner de manière autonome sur la ligne de commande, et s'intègre avec le shell Windows (voir ci-dessous).

TortoiseSVN shell integration

La chose que j'aime le plus à propos de TortoiseSVN est qu'il est totalement langue ou IDE indépendant et je peux l'utiliser pour des projets Java de Eclipse, .NET des projets de VS2008, ou le développement de pilotes de trucs en C/C++.

Notez que le SubWCRev outil est fourni avec TortoiseSVN expose également une interface COM qui vous permet de faire des trucs sympas comme par programmation à vérifier qui a fait le dernier commit et quand, qu'est-ce que le dernier numéro de révision etc. Je parle de cela, car il n'y a pas beaucoup d'informations sur cet appart de dans le TortoiseSVN docs, et il a été vraiment très utile pour moi récemment écrit un VS2008 addin que j'utilise sur mon .Projets NET pour synchroniser automatiquement le numéro de révision et d'incrémenter le numéro de build.

Un certain nombre de sites fournissent gratuitement de l'dépôt SVN accès pour les projets open-source (ou à l'accès payant pour " closed source/produits commerciaux), tels que Google Code et Sourceforge. Ces référentiels en ligne peut aussi être très utile pour le travail de projet si, surtout si vous êtes un étudiant qui travaille sur un projet de groupe.

9voto

David Stratton Points 45298

Le type de logiciel que vous recherchez est à la source de contrôle (également appelé contrôle de révision). C'est un vaste sujet, mais je voudrais commencer en regardant sur Wikipédia, et puis la recherche d'un type de contrôle de code source qui fonctionne avec le langage et les outils que vous utilisez. (Exemple. Team Foundation Server comme une option pour Visual Studio, SVN pour une bonne tout autour de la solution, etc.)

Vous êtes finalement va demander des suggestions sur la source de contrôle de l'outil à utiliser. Pour notre équipe, nous l'utilisation de SVN (aka SubVersion), qui est un très bon open source de la solution qui fonctionne avec presque n'importe quoi.

Lien wikipédia:

http://en.wikipedia.org/wiki/Revision_control

8voto

Eric deRiel Points 375

La réponse simple est que vous voulez une sorte de contrôle de révision du logiciel.

Le plus complexe la réponse est que d'avoir le contrôle de révision est beaucoup plus facile qu' en utilisant ou en l'utilisant.

Si vous êtes débutant, le choix d'un outil, facile à utiliser est la clé. Subversion est un bon choix car il a une grande GUI implémentations, mais encore fournit beaucoup de puissance et de souplesse, une fois que vous commencez à obtenir à la ligne de commande de niveau.

Toutefois, la révision du système de contrôle que vous choisissez est moins important que de cultiver les habitudes d'utilisation qui vous permettra de réellement profiter de vos outils. Développeurs expérimentés en utilisant les meilleurs outils peuvent encore se retrouver empêtré dans des mal conçus ou mal géré source de dépôts.

Quelques choses à penser:

  • Si vous n'êtes pas la mise à jour de votre repo fréquemment et comme une question de routine, il ne sera pas beaucoup l'utiliser quand vous en avez besoin.

  • L'apprentissage de ce que différentes personnes ont à dire à propos de les meilleures pratiques est utile à un certain degré, mais parfois, le facteur le plus important est tout simplement qu'il y est une norme, et que chacun comprend et accepte.

  • Pensions de l'organisation est fortement voie dépendante.
    L'installation et le démontage n'est pas cher lorsque votre projet est de commencer. N'ayez pas peur d'être pointilleux sur la structure organisationnelle au début. Il est peut-être la seule fois que vous pouvez être.

7voto

David Plumpton Points 1345

Si vous souhaitez en savoir un peu plus sur Git, vous pouvez héberger votre travail sur github.com tout en travaillant séparément.

4voto

Nikola Stjelja Points 1362

Il y a deux choses qui sont importantes lorsque deux ou plusieurs développeurs travaillent sur le même projet. D'abord, les outils utilisés, et le deuxième est le processus convenu.

L'utilisation de l'outil, dans votre cas est très simple. Choisir un système de contrôle de version et apprendre à l'utiliser. Les choix sont nombreux, mais le facteur le plus important est le support de l'outil. Par exemple, le tortuise type d'outils sont parfaits pour les utilisateurs de windows (TortuiseSVN, ToruiseCVS, TortuiseHg) depuis leur intégration dans le shell de windows et vous permet de voir ce lancée à chaque fichier et chaque répertoire par l'application de différentes icônes sur eux (point d'exclamation rouge pour le changement, vert ok et etc..).

Le second, plus important, c'est le processus. La plupart des équipes de pause, et il faut du temps pour adopter l'un et pour l'ensemble de la suivre. Vous et votre partenaire doit s'entendre sur les mêmes processus et vous avez tous deux besoin de le suivre.

Le processus d'inclure le dossier de base de l'organisation, ce qui va l'être, et où, quand et comment vous devez vous engager/checkout et de quelle manière de code que vous allez mettre en.

À mon avis, il y a deux choses importantes ici:

  1. Le code dans le référentiel doit être toujours en mesure de construire, pour les autres gars de continuer à travailler sans problèmes

  2. Tout le monde a besoin de savoir quoi mettre et où, par exemple, un dossier sera choisi pour le code source, et l'autre pour la base de données etc.

Voici un exemple simple de processus:

  1. Installer un serveur de dépôt (svn, mercuiral etc.) . Pour vous, la seule différence est le support de l'outil.
  2. D'accord sur un référentiel commun de la structure (Documents, Source, Extras)
  3. Mise à jour sur le début de chaque journée
  4. Commettre souvent, avant chaque validation de mise à jour du référentiel
  5. À la fin de chaque journée de commettre

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X