Les nouveaux programmeurs négligent souvent l’indentation et la mise en forme de leur code. Davantage confondant, les pratiques et normes recommandées varient souvent d’un milieu de travail à un autre. Une simple recherche Google concernant les bonnes pratiques d’indentation nous permet de remarquer que cette question en soulève un bon nombre d’autres qui se rattachent plus à l’aspect philosophique de la profession :
Ces questions sont excellentes. À défaut d’y répondre ici, elles viennent tout au moins soutenir le niveau d’importance qu’a l’indentation dans la profession.
Souvent, c’est le caractère d’espacement qui est utilisé pour faire l’indentation du code. Cette pratique est répandue et plusieurs interfaces de développement remplacent même automatiquement l’insertion de caractères de tabulation(insérés en appuyant sur la touche « Tab ») par un nombre définit de caractères d’espacements. Par exemple, en appuyant sur la touche de tabulation « Tab », c’est 4 ou 5 espaces qui seront automatiquement insérés afin d’espacer le code.
À première vue l’indentation sert à rendre le code plus aisément lisible pour les programmeurs, donc que ce soit via le caractère d’espacement ou la tabulation, on pourrait croire que c’est d’une importance marginale. Cependant, la préconception que l’indentation du code n’a un impact que sur le développeur est erroné.
En fait, même si 4 caractères d’espacement correspondent en apparence à 1 caractère de tabulation, c’est effectivement 4 octets qui sont ajoutés au fichier lors de l’insertion de 4 espaces, au lieu d’un seul octet dans le cas de l’usage du caractère de tabulation. Par exemple, en convertissant les caractères d’indentation du code par des tabulations dans un fichier PHP de 424 lignes, celui-ci est passé de 11778 octets à 9903 octets. Ceci est un gain marginal de 16% au niveau de l’espace disque. Le gain varie évidemment selon le fichier source, mais selon mon expérience le gain se situe invariablement entre 10% et 25%; un gain considérable, ne serait-ce que pour l’économie d’espaces dans le cadre d’un projet Web où l’espace disponible sur le serveur n’est pas illimité.
On pourrait croire que les performances de la compilation du code PHP serait impactée de manière considérable par l’usage de caractères d’espacement pour l’indentation, mais en réalité, le processeur PHP enlève tout les caractères d’espacement(espaces, tabulations, retour de chariot, etc.) du code avant la compilation. Il y a une différence, mais elle est très marginale, surtout si vous utilisez un système de caching.
De manière plus importante, dans le cas de projets Web, ce sont les ressources envoyées aux utilisateurs qui ont le plus d’impact. Lorsqu’un utilisateur demande à voir une page, ce sont plusieurs fichiers html, CSS, javascript, etc. qui sont envoyés au navigateur. Ces fichiers représentent de la bande passante et du temps de chargement du côté de l’utilisateur. C’est là que la perte de performance peut être la plus grande.
Plus haut, nous avons mentionné que certaines interfaces de développement indentent automatiquement en utilisant des caractères d’espacement. Dans bien des cas, ceci est une préférence que vous pouvez changer aisément en fouillant dans les options de configuration. Certaines interfaces proposent de convertir les indentations espacées en indentations tabulées. Sublime Text a cette option bien à vue, en tout temps, dans l’indicateur au bas de l’interface.
Si vous désirez compresser d’avantage les ressources envoyées aux utilisateurs, sachez qu’il existe en ligne des outils de minification des ressources CSS et Javascript.
Aidez la communauté des développeur en adressant vos questions et suggestions dans la zone de commentaires qui suit. Bonne optimisation de code à tous!
Exemple de code pour soumettre un formulaire avec CakePHP en utilisant Ajax et avoir un retour des erreurs de validation.
Nous discuterons spécifiquement de SQLite, ses particularités, ses avantages et quelques cas dans lesquels sont usage est pertinent ou souhaitable.
Vous vous demandez combien d’extensions installer au maximum sur votre site WordPress avant d’être pénalisé au niveau du SEO?
La conception de logo est un travail qui est sous-estimé par beaucoup de gens. Je vous décris dans cet article la démarche effectuée pour réaliser le logo de Wenovio.