Mise en forme
Souvenez-vous des trois caractéristiques principales d’un Clean Code : expressif, évident, et sexy. Et devinez quoi ? Le sex-appeal d’un code est similaire à celui d’un humain : on juge d’abord l’apparence ! Il est donc important que l’aspect visuel de votre code donne envie de le lire, mais également qu’il respecte une certaine logique.
La mise en forme d’un code est la première communication existante entre plusieurs développeurs. Aussi, si une mauvaise communication peut souvent entraîner des échecs, il en va de même pour le code. Cette mise en forme se travaille selon deux axes différents : l’axe vertical, et l’axe horizontal.
Axe vertical
L’axe vertical, comme son nom l’indique, représente l’aspect du fichier de haut en bas. Et concernant ce point, le premier facteur à prendre en considération est la longueur totale du fichier. Plus votre fichier sera long, moins il sera facile à appréhender. Faites donc attention à bien séparer votre code dans différents fichiers, chacun regroupant des intentions différentes.
Le second point consiste à raconter votre code, plutôt que de l’expliquer. Un code se raconte comme on raconte une histoire : d’abord on présente le contexte et les protagonistes, puis on pose la trame, qu’on déroule ensuite avant de conclure. La rédaction d’un fichier de code doit être similaire : Le code doit être expliqué dans l’ordre où il intervient. Si vous avez trois méthodes, une méthode A utilisant une méthode B, utilisant elle-même une méthode C, alors vous devez d’abord positionner la méthode A, puis la B, puis enfin la C. Ne présentez pas la méthode C avant de l’avoir contextualisé grâce à B, il en va de même pour B vis-à-vis de A !
Vous devez ensuite considérer l’espacement des différents concepts. Plus vos lignes seront rapprochées, plus le concept rattaché sera proche, a contrario plus les lignes seront éloignées, plus le concept sera lointain. Dans le cadre d’un bloc d’instructions, toutes les lignes du même bloc seront positionnées les unes à la suite des autres, sans séparation. A contrario, si vous devez séparer deux blocs d’instructions, alors une ligne vide sera insérée entre ceux-ci. De la sorte, vous obtenez visuellement un découpage des concepts et vous pouvez mieux segmenter la lecture de votre code pour encore faciliter sa compréhension.
Toujours dans l’esprit de distanciation, et en lien avec l’idée de raconter une histoire, il est important d’éviter de trop nombreux allers-retours hauts bas dans la lecture de votre fichier afin de le comprendre.
Les variables sont souvent sujettes à mauvaise interprétation lorsqu’elles sont mal positionnées. Leur contexte va donc influer selon si elles doivent être placées juste avant leur utilisation, ou bien au début d’un bloc. Il n’y a en réalité besoin de considérer que deux contextes ici : le contexte procédural et le contexte objet. Dans le premier cas, on considère que les variables doivent être déclarées au plus près de leur utilisation. Dans le second, il est d’usage de les déclarer au tout début de la classe.
En résumé, il faut considérer l’affinité entre les différentes lignes de code que vous rédigez : plus l’affinité sera importante, plus les lignes de code doivent être proches. Plus l’affinité est faible, plus elles doivent être éloignées. Attention, il n’est pas pour autant question de séparer deux fonctions par 15 lignes vides si leur affinité n’est pas forte : c’est inutile…
Axe horizontal
Besoin d'aide ?
Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !