Si vous avez commencé le développement d’un jeu web (ou un autre projet, c’est valable aussi), vous vous êtes peut-être rendu compte que le nombre de lignes de code commençait à augmenter de façon critique pour une seule personne.
Comment réussir à gérer un gros projet lorsque l’on est seul et qu’il faut tout faire en même temps ?
Je vais vous expliquer ici ma façon de faire. Ce n’est pas la seule solution, il en existe plein et chacun trouvera sa propre solution. Mais depuis le temps que je fais du développement, j’ai mis en place quelques méthodes simples et efficaces.
Les commentaires
On le dit et le redit : commentez votre code !
Cela peut paraître sans intérêt et une perte de temps alors qu’il n’en ai rien. L’excuse de dire « mon code est propre et n’importe quel développeur sachant coder le comprendra » est une excuse complètement bidon. Dans 3 mois, votre superbe routine super optimisée vous semblera très certainement incompréhensible au premier abord. Avec un simple commentaire, vous retrouverez plus rapidement ce que vous avez voulu faire. Et le développeur « sachant coder » qui passera derrière vous n’en sera que plus heureux de ne pas avoir à chercher.
Chaque fonction doit être commentée également. Vous pourrez ainsi utiliser un IDE et retrouver beaucoup plus facilement les paramètres d’une fonction. Gain de temps donc.
Un exemple simple de documentation d’un fonction PHP :
/** * Compte les éléments d'un tableau * @param mixed[] $tableau Le tableau en question * @return int **/ function count($tableau = array()) { ... }
Vous le voyez, ce n’est pas bien compliqué. Vous trouverez plus d’informations sur le formatage à utiliser sur phpDocumentor par exemple.
Sous Eclipse, voilà ce que vous obtiendrez en passant la souris sur le nom d’une fonction :
Avouez que c’est bien agréable et que ça peut vous faciliter la vie.
Prenez donc le temps (et l’habitude) de commenter votre code. Que ce soit pour vous ou pour d’autres développeurs, prenez ce temps, il n’est pas gâché.
Une To-do liste
Lorsque je travaille sur un gros projet, j’ai tendance à vouloir faire autre chose de temps en temps histoire de me décrasser un peu le cerveau. Je me lance dans la création d’un autre jeu ou je fais une mission. Je fais en sorte de ne plus penser à ce gros projet. Du coup, lorsque je reviens sur ce projet, je ne sais plus trop où j’en était et ce qu’il reste à faire.
Pour m’y retrouver, j’utilise une To-do liste. Comme je développe sous Eclipse (installé sur un disque SSD, sinon c’est trop lent), j’utilise les fonctionnalités de cet IDE. Eclipse dispose d’une fonctionnalité To-do liste justement.
Vous y accéder en ouvrant la vue « Tasks ».
Actuellement, je travaille sur un nouveau jeu. Un jeu de conquête spatiale. Ce jeu dispose de beaucoup de fonctionnalités et il est très difficile de s’y retrouver sans un minimum d’organisation. Lorsque je travaille sur une nouvelle fonctionnalité, je la regarde dans son ensemble et je la sépare en petites taches. J’avance dans le code en mettant le terme « TODO » devant chaque tache étant à faire plus tard, en expliquant au mieux ce qu’il y aura à faire.
Ainsi, lorsque j’ouvre la liste des taches à faire, j’ai une vue globale du projet. Je ne me prend pas la tête devant la montagne énorme qu’il me reste à franchir, je me limite à une tache à la fois. Et j’avance. Et ça marche !
En procédant ainsi, vous gardez une vue globale du projet. Vous savez où vous en êtes à tout instant.
Finalement, une Todo liste, c’est un peu comme la méthode GTD (dont je parlais dans un article sur le bonheur). C’est une question d’organisation.
Conclusion
Il existe d’autres méthodes pour ne pas perdre la face sur un gros projet. Ces 2 conseils simples sont efficaces si vous les mettez en œuvre dès le début de votre projet. Ne tardez jamais à mettre en place des méthodologies de travail.
Et vous, d’ailleurs, quelles méthodes utilisez-vous ?
Salut Prélude,
C’est assez étrange car ce n’est pas les outils qui manquent pour s’organiser dans le développement et finalement j’ai opté pour une solution, assez basique :
J’ai construit mon bureau face à un mur que j’ai peint en blanc et qui fait 2M sur 4. Et j’y colle tous mes papiers dans l’ordre. Avec les croquis, les choses à faire, à corriger etc…
Et en bout de mur, j’ai une feuille vierge que je remplis de tout ce qui m’est passé au dessus de la tête lorsque j’ai préparé tout ça.
Ce que j’aime dans cette technique, c’est le fait de pouvoir reculer avec ma chaise de bureau et avoir une belle vision globale du projet.
L’inconvénient est forcément la place que cela prend, le problème de l’édition et des corrections.
Je n’ai jamais rien trouvé qui puisse me remplacer le plaisir de gribouiller sur ces feuilles en avançant sur le projet.
Même ma TODO liste est faite sur papier 😀
Pour les fonctions, j’utilise maintenant un système à peu prêt équivalent au tiens. Commentaire + IDE.
Ta méthode rejoint un peu les méthodes Agiles.
J’hésite encore à faire ça. Mais j’y passerais un jour.
Il y a également pas mal de solutions permettant de reprendre le principe de ce mur sur son ordi, mais ça retire le côté visuel qui est quand même super pratique.