Je lisais un blog dont l'auteur disait ceci .
"Le code n'existe pas tant qu'il n'est pas enregistré dans un système de contrôle de version. Utilisez le contrôle de version pour tout ce que vous faites. N'importe quel contrôle de version, SVN, Git, même CVS, maîtrisez-le et utilisez-le."
Je n'ai jamais utilisé de contrôle de version et je ne le trouve pas si génial. J'ai fait des recherches sur Google et j'ai déjà examiné la question, mais j'ai besoin d'une explication en termes simples pour les enfants, si vous voulez bien.
D'après ce que je comprends actuellement, les choses comme le SVN servent à stocker votre code en ligne pour qu'un groupe d'utilisateurs ou d'autres développeurs puissent avoir accès au même code. Lorsque vous mettez à jour un code, vous pouvez soumettre la nouvelle version et le SVN conservera des copies de l'ancien code ainsi que des nouveaux codes que vous mettez à jour.
Est-ce l'idée de base ou est-ce que je me trompe complètement ?
Si j'ai raison, alors ça ne sera pas très utile si je.. :
- Ne faites pas travailler d'autres personnes sur le code.
- Ne prévoyez pas de laisser les autres avoir le code.
4 votes
Tu veux dire que tu lisais "coding horror"...
3 votes
@jason, non je lisais un post sur reinholdweber.com
54 votes
C'est un phénomène étrange que de nombreux développeurs (généralement au début de leur carrière) aient ce point de vue, et ce n'est que lorsque vous les obligez à utiliser le contrôle de la source que les avantages commencent à s'effilocher dans leur tête.
1 votes
@spender : J'ai honte de penser comme ça aussi il y a quelques années (au lycée). Je ne sais toujours pas si j'ai pu faire quelque chose à l'époque.
0 votes
J'utilise phpdesigner comme IDE et il prend en charge un système appelé Tortoise SVN. Je vais certainement m'y intéresser, car cela semble être quelque chose que je ne pourrai pas supporter après avoir appris à l'utiliser.
4 votes
Levez la main qui ne partage pas la honte de Martinho. :)
0 votes
@jason : Je suppose que vous voulez dire "sans".
1 votes
Je programme depuis 35 ans et je n'ai jamais eu besoin du contrôle de version dont la plupart des gens parlent. Mes sauvegardes sont basées sur le cloud et sont 100% automatisées et synchronisées avec tous mes systèmes de développement. Je n'ai jamais besoin de valider quoi que ce soit. Chaque fois que j'enregistre un fichier, il crée automatiquement une version qui est sauvegardée dans le nuage. C'est beaucoup plus facile et rapide de procéder de cette façon, car il n'y a pas d'autre couche qui me ralentit et je risquerais toujours de perdre du code entre les commits. Sans système de contrôle de version, je n'ai jamais eu ce problème et je n'ai jamais perdu de code.
3 votes
@TimEckel Vous n'avez jamais eu besoin de brancher ou de fusionner ? Vous n'avez jamais eu besoin de revenir sur un groupe de modifications ? Vous n'avez jamais voulu marquer une version ? Vous n'avez jamais travaillé avec un autre développeur ? Vous avez fait du cloud syncing il y a 35 ans, bien avant que le cloud n'existe ? Les sauvegardes et le contrôle de version résolvent des problèmes différents. Il n'y a aucune raison pour que vous ne puissiez pas sauvegarder votre code de travail avec Google Drive et le stocker dans un dépôt Git.
2 votes
Je ne sais même pas ce qu'est une branche ou une fusion. J'écris du code de manière linéaire, il n'y a que de l'avant, pas de l'arrière. Pour revenir en arrière, j'annule ou je charge une sauvegarde (ce qui n'arrive presque jamais). Je n'ai aucune idée de ce qu'est un tag a release ou pourquoi je l'utiliserais. Les autres développeurs ne font qu'abîmer mon code, je le fais moi-même. Si quelqu'un a une idée, il peut la soumettre et j'envisagerai de la mettre en œuvre. Aujourd'hui, je fais de la synchronisation en nuage, avant je faisais des sauvegardes sur clé USB ou sur disquette. Je ne vois tout simplement pas l'utilité d'une couche qui ne fait que ralentir les choses.
4 votes
Quelqu'un a montré à @TimEckel une bissection, où le contrôle de version vous montre comme par magie un changement de trois lignes d'il y a trois mois et dit "le bug a été introduit ici". Mind=blown.
5 votes
@TimEckel , vous utilisez toujours un contrôle de version, un autre type avec moins de fonctionnalités.
2 votes
Vous avez une compréhension très étroite du développement logiciel. Le contrôle de version est de loin l'outil le plus productif dans le domaine du logiciel. Il vous donne la responsabilité, la capacité de rappeler les changements passés et en général quelques options de sauvegarde solides. C'est même génial si vous êtes la seule personne à travailler sur le code, vous pouvez revenir en arrière quand vous vous tirez une balle dans le pied. Grandissez et apprenez-en au moins un.