Appliquez cette méthode pour écrire du code
Le syndrome de la page blanche, vous connaissez ?
C’est un mal typique des écrivains. Mais vous savez quoi ? Coder, c’est un peu comme écrire ! Il n’y a pas une façon d’écrire une fonctionnalité, car tout le monde a sa plume, sa logique. Et puis, nous nous posons tous et toutes les mêmes questions, “Par quoi je commence ? Comment je commence ?”. Ça peut faire peur, peu importe son expérience, c’est complètement normal.
Pour éviter ces angoisses, je vais vous donner quelques outils. Vous pouvez bien sûr les combiner avec les vôtres, que vous aurez acquis avec l'expérience.
Étape 1 : Posez-vous des questions pour identifier l’objectif visé
Vous l’aurez compris, j’aime me poser des questions, mais les bonnes, celles qui me permettent d’avancer !
Qu’est-ce que je souhaite faire ?
Il est important que vous sachiez quel projet ou quelle fonctionnalité vous cherchez à faire. Il est également nécessaire d’avoir un périmètre le plus précis possible. Ce n’est pas la même chose d’ajouter une barre de navigation sur une page web et de développer toute une application mobile ! Il est possible que vous ayez besoin de passer du temps à faire des recherches pour affiner votre objectif, sur internet ou en discutant avec votre client ou vos utilisateurs.
De quel langage/quelle technologie j’ai besoin ?
Une fois que vous avez pu déterminer un périmètre, vous allez pouvoir vous demander quelles sont les contraintes pour pouvoir choisir vos langages ou technologies. Si vous avez besoin d’une API pour votre projet, par exemple, il vous faudra regarder les technologies ou les langages qui sont utilisés.
Quels sont les outils à ma disposition ?
Maintenant que vous avez les contraintes techniques inhérentes à votre projet, vous pouvez explorer les possibilités que vous avez. Et ce, en fonction de vos compétences, votre matériel, vos moyens. Si nous gardons l’exemple de l’API et que vous n’avez pas les compétences pour la coder, vous pourrez vous diriger vers des solutions de no-code ou low-code. Ce sont des outils qui vous évitent d’écrire du code (ou d’en faire très peu).
Quel serait mon MVP ?
OK, vous avez tout ce qu’il vous faut ? Alors maintenant vous allez pouvoir déterminer plus précisément ce que vous allez faire. Faire et souhaiter faire, ce n’est pas forcément la même chose. MVP signifie Minimum Viable Product. Toujours dans une logique de petits pas, à vous de définir ce dont votre projet ou fonctionnalité a besoin, au minimum, pour fonctionner. Et si possible, pour apporter quelque chose à votre utilisateur. C’est un début de découpage de votre projet.
Il peut être difficile de répondre à ces questions seul. Vous pouvez bien sûr faire des recherches sur internet. Vous pouvez également trouver des inspirations dans des projets existants. Souvent, il ne sert à rien de réinventer la roue, surtout quand elle est à portée de main !
Ensemble nous allons nous poser ces questions dans des contextes concrets dès le prochain chapitre !
Étape 2 : Isolez la fonctionnalité à écrire
Que ce soit un projet complet ou une fonctionnalité, il faut bien commencer quelque part.
Mais avant cela, avant de savoir par où commencer, vous allez essayer de découper un maximum votre problématique. Souvent on voit les choses comme une énorme montagne insurmontable. Mais pour arriver au sommet de celle-ci, il y a des petits chemins de randonnée. C’est l’incrémentation de ceux-ci qui va vous amener à destination, le tout en itérant sur une méthode simple que vous connaissez, mettre un pas devant l’autre.
Alors, cela ne vous empêchera pas de vous tromper, de tomber et d’apprendre de vos erreurs ! C’est pour cela qu’il est important de sécuriser l’espace. En effet, plus vous allez isoler votre tentative, plus l’impact d’un possible échec sera minime, voire insignifiant. Car oui, vous allez tester des choses qui ne marcheront pas et vous devrez recommencer, en apprenant de vos erreurs. C’est ce que l’on appelle le “test and learn”.
L’idéal sera donc de développer votre fonctionnalité si possible à part, dans un autre projet, ou en utilisant un outil qui permet de faire ses tests dans son coin.
Les playgrounds et les éditeurs de code en ligne peuvent vous servir de bac à sable. L’avantage, c’est que vous n’avez pas besoin de configurer tout un nouveau projet, et que vous ne risquez pas de “casser” ce que vous avez fait qui marche déjà.
Si ce n’est pas possible ou pas nécessaire de faire votre développement à part, gardez en tête de sécuriser chacun de vos pas pour avancer sereinement. Je vous recommande de commencer aussi par ce que vous maîtrisez le mieux.
Étape 3 : utilisez les ressources disponibles
Commençons à faire un premier pas. À ce stade nous ne cherchons pas encore à coder.
Si vous avez une idée plus ou moins claire de ce que vous voulez faire, vous pouvez démarrer en schématisant ce que vous avez en tête. Cela peut se faire avec des maquettes, s’il y a du visuel, avec des outils comme Canva, Figma ou Marvel. Vous pouvez aussi faire des schémas de la logique que vous cherchez à mettre en place.
Ou sinon vous pouvez faire du pseudo-code, comme pour un debug. C’est-à-dire écrire votre algorithme sans utiliser la syntaxe ou un langage en particulier, uniquement vos mots. Imaginez que vous deviez l’expliquer à vos grands-parents : il faut que ce soit simple et clair.
Il se peut que vous n'ayez aucune idée de la manière de vous y prendre, et c’est normal ! Coder, c’est aussi apprendre en permanence. Et puis on ne peut pas tout connaître !
Pour vous aider, vous allez pouvoir faire des recherches sur internet, avec les bons mots-clés, comme nous l’avons vu dans le chapitre précédent. Vous pourrez trouver des tutoriels, des projets existants, des articles, ou même utiliser une IA pour générer du code. Dont le but serait de copier le code trouvé. Oui oui ! Je ne vous parle pas d’aller voler le code source du concurrent, mais vous trouverez des lignes de code accessibles à tout le monde. Alors ne cherchez pas à réinventer la roue !
L’objectif n’est pas de coller bêtement le code trouvé, mais de vous l’approprier pour qu’il corresponde à votre besoin. C’est ça aussi, faire du développement.
Dernier endroit pour chercher de l’inspiration dans l’écriture, les projets auxquels vous avez accès. Que ce soit votre projet ou celui de votre entreprise, si vous y avez accès, c’est que vous pouvez le copier-coller.
Comme pour la résolution d’un bug, vous pouvez utiliser les méthodes du canard en plastique ou du pseudo-code pour vous aider à formaliser plus concrètement vos idées. C’est aussi un bon moyen de sortir du vide, de la page blanche.
Le plus dur c’est souvent de commencer, car on a peur de se tromper. Alors j’ai envie de vous dire TROMPEZ-VOUS ! En effet, faire des erreurs c’est déjà avancer et une fois lancé, plus rien ne pourra vous arrêter !
Ces méthodes sont clairement à réutiliser à chaque incrémentation du projet, à chaque fois que vous en avez besoin, en fait.
Étape 4 : Intégrez la solution par incrémentation
Bon, ça y est, vous avez une idée de quelques lignes à écrire ? Vous avez testé ce code et vos idées dans un projet à part ? Alors attaquons-nous au projet final !
Comme je vous le disais, il faut que vous avanciez petit pas par petit pas pour bien sécuriser chaque avancée.
Pour cela, vous allez tenter d’ajouter un minimum de code à la fois. Dès que vous le pouvez, faites des tests afin de vérifier que c’est bien le comportement attendu. Par exemple, vous voulez faire récupérer des données d’une API. Commencez par vérifier que vous avez bien un retour positif de l’API, et seulement après vous pourrez tenter de vérifier que les données récupérées sont celles voulues. Vous pouvez essayer de recueillir juste une information avant de contrôler que toutes les informations sont bien présentes.
Pour sécuriser encore plus chacun de ces pas, je vous invite à faire des commits sur Git, au moins en “local”, que vous n’envoyez pas systématiquement sur le projet distant. Une fois que votre avancée est significative, vous pouvez l’envoyer en review si quelqu’un vous aide sur le projet, sinon en “push” sur le projet distant.
Cela peut être aussi le bon moment pour ajouter des tests unitaires afin de garantir la non-régression du projet à ce commit précis.
En résumé
Le découpage d’un projet est une étape indispensable au bon déroulement de celui-ci.
Peu importe ce que vous cherchez à faire, faites-le de manière incrémentale !
Avant de se lancer tête baissée, il est important de clarifier ce que l’on veut faire en se posant les bonnes questions, et si possible en faisant des schémas.
Le copier-coller fait partie du quotidien des développeurs ! Pas besoin de réinventer la roue.
Vous allez vous tromper, recommencer, et c’est comme cela qu’on avance !
Git reste un outil indispensable pour travailler sereinement et efficacement.
Bon, c’est bien gentil ces belles paroles, mais si vous voulez voir ce que cela donne dans la pratique, on se retrouve au prochain chapitre !