From 44404f4034bac9dfe888ff206fb60aee8598539c Mon Sep 17 00:00:00 2001 From: Yorick Barbanneau Date: Thu, 16 Jan 2025 22:00:44 +0100 Subject: [PATCH] feat: add code lesson --- content/conduite_projet/5_code/index.md | 30 +++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 content/conduite_projet/5_code/index.md diff --git a/content/conduite_projet/5_code/index.md b/content/conduite_projet/5_code/index.md new file mode 100644 index 0000000..a2f01e3 --- /dev/null +++ b/content/conduite_projet/5_code/index.md @@ -0,0 +1,30 @@ +--- +title: "Conduite de projet: le code" +date: 2024-10-07 +tags: [ "code", "bonnes pratiques"] +categories: ["Conduite de projet", "Cours"] +--- + +Il est question ici d'adopter les bonnes pratiques en matière de code. en voici une liste non exhastive. + +## Coder proprement + +Il est question de rendre le code lisible. Un code peu lisible a plus de chance de contenir des bugs ou failles de sécurité. Il faut alors le normliser en utilisant des conventions de nommage (variables, classes, methodes, fonctions etc.). + +## Coder sans vulnérabilité + +La lisibilité du code aide à éviter des failles, mais il est aussi nécessaire de se tenir au courant des bonnes pratiques en matière de sécurité. On peut utiliser un analyseur statique de code ou encore faire appel à un expert (audit de code). +Si des biliothèques sont necessaires au fonctionnement de notre logiciel, il faut alors s'assurer que ces dernières ne contiennes pas non plus de vulnérabilités. + +## Porter la conception + +Pour tout projet logiciel, il est nécessaire de passer par une phase de conception et ainsi choisir une architecture. Le code doit nous premettre de comprendre l'architecture. + +## Organiser les modifications de code + +Un code source doit être versionné, et les moddifications apportées à celui-ci enregistrées sous forme de *commits*. +Ces **commits** doivent être cloisonnés afin d'identifier clairement sur quelle tâche / issue il porte. +Le cloisement soit être connu à l'avance des dévellopeurs. +Un *commit* se soit d'être **atomique**, la modification doit porter sur une seule finalité. + +Les modifications sur le code soivent être le plus précise et contrôlées (*pair-reviewing*)