Les bonnes pratiques du développeur

Publié le par

Introduction

« C'est en forgeant qu'on devient forgeron », c'est avec la pratique que le développeur devient toujours plus expérimenté et développe comme un sixième sens face aux problèmes complexes.

A chaque nouveau projet, le développeur rencontre les même types de demande et les même types d'algorithme. Perfectionniste et exigeant, il ne recherche qu'à donner le meilleur de lui-même. Cependant, la qualité se paie, et nécessite du temps qu'on ne lui accorde pas toujours. Alors que faire ? Comment être à la fois performant, produire un code de qualité et respecter un planning de plus en plus court ?

Il existe ce que l'on appelle les bonnes pratiques. Ce sont des techniques, des astuces, des réflexes et une philosophie qui sont pratiqués, puis affinés par les programmeurs/développeurs depuis la naissance de la programmation.

YAGNI : You Aren't Gonna Need It

« Vous n'en aurez pas besoin » : développez les fonctionnalités que l'on vous demande et que l'on a besoin maintenant. Ne perdez pas votre temps et votre énergie sur des futures fonctionnalités hypothétiques dont vous n'aurez peut être jamais besoin ou l'occasion d'utiliser. Ne faîtes pas plus, mais ne faîtes pas moins non plus.

KISS : Keep It Simple Stupid

« Laissez-le simple, stupide » ou « Ne compliquez pas les choses » : il y a maintes manières de développer une fonctionnalité, comme il y a différentes routes qui mènent à Rome. Plus c'est complexe, et statistiquement plus les risques d'anomalie et d'incompréhension de l'algorithme sont élevés. Pensez avec simplicité et allez droit au but, cela facilitera la compréhension et la maintenance.

DRY : Don't Repeat Yourself

« Ne vous répétez pas » ou « Evitez la redondance de code » : le copier/coller de blocs de code est une pratique courante pour soi-disant gagner du temps. Mais pour la maintenance, c'est une autre histoire, car s'il y a des modifications à apporter, il faudra probablement le faire sur tous les autres blocs de code dupliqués. Factorisez le code, créez une bibliothèque, pensez à l'héritage de classe...

Les design patterns

Un design pattern décrit un modèle de conception réutilisable. Prenons l'exemple du design pattern Singleton. Il consiste à minimiser la création d'instance d'une même classe à un seul objet. Cette technique permet de :

  1. occuper moins de mémoire en n'utilisant qu'un seul objet d'une classe au lieu de plusieurs ;
  2. gagner en performance car chaque instanciation est coûteuse en temps.

L'utilisation de design patterns est inévitable dans un projet. Dîtes-vous bien qu'il existe certainement un design pattern pouvant répondre à un besoin redondant, ou à une architecture telle que le MVC.

L'optimisation de code

L'optimisation est un réflexe à avoir en permanence pour ne pas perdre de vue l'objectif final qui est de livrer une application performante et de qualité à l'utilisateur. Gardez à l'esprit que l'utilisateur est impatient et s'énerve rapidement lorsque le temps de réponse d'un traitement dépasse son seuil de tolérance de patience. Dans ce cas précis, il faudra revoir les fondamentaux :

  1. YAGNI : supprimer les traitements inutiles ;
  2. KISS : simplifier l'algorithme ;
  3. DRY : factoriser le code.

Les commentaires de code

Reprendre le code d'un autre développeur n'a jamais été facile contrairement à ce que l'on pourrait croire, même pour un développeur très expérimenté. D'ailleurs, c'est avec l'expérience que l'on fait les choses de mieux en mieux, et de plus en plus vite. Les idées, les événements et les actions s'oublient avec le temps, et c'est la raison pour laquelle on les note et on les documente afin de ne pas les oublier.

Commenter son code devrait être une obligation dans un projet impliquant plusieurs développeurs. Pour la maintenance et l'évolution de l'application, le commentaire a au moins autant de valeur que le code, puisqu'il indique au développeur ce qu'il doit faire, et renseigne les autres développeurs ce que le traitement fait et dans les conditions qu'il doit s'exécuter.

La curiosité et la remise en question

Quelque soit l'activité que nous pratiquons et quelque soit le domaine dans lequel nous nous sommes spécialisés, la solution est là, sous nos yeux...

Avoir l'esprit ouvert, être capable de se remettre en question, apprendre de ses aînés et partager ses connaissances, sont des comportements dignes d'un vrai développeur passionné par son métier. Cet état d'esprit ne peut que le porter vers le haut et lui permettre d'explorer de nouveaux horizons, toujours à la poursuite d'un idéal : performance, efficacité et qualité.