Contrairement à ce qu’on me demande lorsque je suis en examen, je pense que copier sur son “voisin” est une très bonne idée. Bien sûr, lorsque c’est dans le cadre de la programmation.
En effet, regarder le travail réalisé par d’autres programmeurs est pour moi une source d’inspiration et de progression énorme.
Copier sur du travail déjà fait ou des solutions déjà trouvées permet de progresser sans avoir à passer soi-même des heures à réfléchir pour finalement trouver une solution inefficace. Bien que cela puisse avoir ses avantages, regarder ce qui est déjà fait peut nous apporter la connaissance de ce qui se fait de mieux sur le marché.
Je ne vous demande évidemment pas de cloner le site de quelqu’un d’autre et vous attribuer le mérite de sa création, mais d’utiliser la copie dans un cadre d’apprentissage !
Copier les solutions toutes trouvées
Dans le cadre de votre programmation au quotidien, vous êtes sûrement tombés plus d’une fois sur un problème retord et visiblement assez complexe pour que l’idée de la solution ne vous viennent pas à l’esprit directement.
Je ne pense pas vous surprendre en vous disant que quelqu’un est très probablement tombé sur le même problème que vous. Et pas qu’une seule personne, mais sûrement des dizaines !
On peut retrouver sur StackOverflow des réponses à des milliers de problèmes rencontrés par d’autres programmeurs.
C’est une opportunité d’apprendre des meilleurs. Sans professeur ou mentor vous pouvez obtenir une solution optimale (et parfois même plusieurs solutions) à votre problème grâce à Internet.
Ne vous contentez pas bien sûr de copier coller la solution. Comprenez la, adaptez-la à votre problème si besoin. De cette façon vous aurez plus de chance de ressortir de ce problème en ayant appris quelque chose et ainsi de pouvoir résoudre le prochain problème similaire !
Copier le résultat final
Vous voulez une manière efficace de progresser en développement Web ? Prenez un site Web que vous aimeriez savoir réaliser et recopiez-le.
Vous voulez une manière de progresser en développement logiciel ? Prenez un programme qui vous intéresse et programmez-le.
Vous voulez une manière efficace de progresser en développement d’application ? Prenez une application populaire et recopiez-la.
Recopiez le plus fidèlement possible ce que vous aimeriez savoir faire, et vous apprendrez beaucoup pendant cet exercice.
En faisant cela, vous allez très probablement être confrontés aux mêmes problèmes que les développeurs et devoir les résoudre par vous même (où à l’aide de la méthode précédente).
Cela vous permet de tester vos compétences, et d’apprendre à réaliser un produit déjà en ligne ou sur le marché. Vous n’avez même pas besoin de réfléchir ou d’avoir de l’inspiration pour trouver quoi coder : c’est sous vos yeux.
Se copier soi-même
J’ai vu cette idée pour la première fois sur la chaine Youtube de John Sonmez.
Si vous voulez apprendre un nouveau langage, prenez un programme que vous avez déjà codé par le passé et tentez de le recoder entièrement dans ce nouveau langage.
Cela peut paraître absurde, mais en recopiant, vous allez pouvoir assimiler l’équivalent de tout ce que vous avez codé dans ce nouveau langage.
Si vous avez utilisé une méthode spécifique avec des structures de données ou des fonctions du langage pour faire une partie de votre application, vous allez devoir chercher comment faire la même chose dans l’autre langage. Et vous allez devoir apprendre une bonne partie de la syntaxe basique du nouveau langage pour recopier tout le code en général.
Conclusion
J’espère que cet article vous a libéré de votre aversion pour le copiage (si vous en aviez une) et qu’il vous a inspiré de vous lancer dans un nouveau projet pour progresser simplement en recopiant ce qui existe déjà !