Définissez votre problème et vos exigences : déterminez précisément ce que vous voulez créer et pourquoi. Ce n'est pas grave si cela change avec le temps, mais vous devez commencer par une idée concrète. Écrire ceci est une bonne idée.
Élaborez un plan de haut niveau : déterminez à quoi ressembleront les composants de votre système et comment ils s'emboîteront. Chaque composant doit jouer un rôle étroit et bien défini. Travailler sur papier est probablement une bonne idée également.
Choisissez votre plate-forme : décidez quel matériel et système d'exploitation vous souhaitez cibler, ainsi que le langage de programmation et les bibliothèques qui serviront le mieux votre objectifs (que vous connaissez déjà assez bien pour les utiliser ou que vous êtes prêt à apprendre en cours de route). Vous devrez peut-être cibler des API spécifiques au système d'exploitation. Essayez de déterminer ce qu'ils seront.
Initialisez votre projet : à l'aide du gestionnaire de packages et du système de construction associé à votre langage et à vos bibliothèques, initialisez un nouveau projet. Il devrait y avoir une fonctionnalité pour intégrer/lier des bibliothèques, construire/exécuter le projet et exécuter des tests. Vous devez également contrôler la version du répertoire.
Démarrez le prototypage des composants et l'écriture des tests, tout en validant ces modifications : créez des éléments en fonction du rôle que vous attendez qu'ils jouent dans votre système. Écrivez des tests pour vous assurer qu'ils se comportent comme prévu, sur des sorties triviales et non triviales, en exerçant idéalement autant de couverture de code que possible. Passez en revue votre code pour vous assurer qu'il est fondamentalement compréhensible, qu'il respecte les invariants que vous attendez et qu'il gère correctement les cas extrêmes. Chaque fois que vous effectuez une petite modification ou une amélioration, validez-la.
Commencez quelque chose : si vous devez faire beaucoup d'expérimentations, essayez de faire fonctionner quelque chose de basique, puis suivez les étapes changements que vous avez introduits dans le contrôle de version. Si vous avez un changement important et risqué ou si vous souhaitez développer de nouvelles fonctionnalités largement indépendantes des autres fonctionnalités, démarrez une nouvelle branche et fusionnez-la une fois que vous pouvez l'examiner.
Intégrez et affinez : une fois que vous avez des composants que vous avez testés, écrivez du code pour les intégrer et des cas de test pour votre intégration. À ce stade, vous devriez avoir quelque chose qui ressemble à l'ensemble de votre programme envisagé.
Remboursez la dette : une fois que vous avez une nouvelle fonctionnalité ou un nouveau comportement, essayez de rembourser la dette technique en refactorisant votre code pour le rendre plus facile à travailler avec. Remplissez votre code source avec de la documentation.
Formulaire de demande