Pilier Rails 2 – Les conventions tu adopteras
Partager la publication "Pilier Rails 2 – Les conventions tu adopteras"
Cette semaine, nous poursuivons notre série de billets blog sur la Doctrine Rails avec le Pilier 2, qui préconise les conventions plutôt que les configurations.
L’un des premiers slogans de Rails a été :
« Chacun d’entre vous N’EST PAS un magnifique et unique flocon de neige. »
Le postulat était qu’en renonçant à un individualisme aussi tentateur que vain, il serait plus facile d’échapper aux complications liées à la prise de décisions quotidiennes et d’avancer plus rapidement sur les questions réellement importantes.
Une des missions de Rails est ainsi de dégraisser le mammouth né de l’accumulation de décisions auxquelles doivent faire face chaque jour les développeurs. Des centaines de ces décisions ont juste besoin d’être tranchées une seule fois et si quelqu’un d’autre que vous peut le faire, tant mieux ! En effet, que vous importe le format dans lequel vos identifiants de base de données sont décrits ? Est-ce une décision digne de délibérations récurrentes ?
Le passage de la configuration à la convention permet non seulement de se libérer des affres de la délibération récurrente, mais aussi d’approfondir le niveau d’abstraction. La force des bonnes conventions est qu’elle permettent des gains de temps et de productivité sur un vaste ensemble de fonctions.
De plus, les conventions facilitent la maîtrise de Rails par les débutants qui peuvent ainsi créer d’excellentes applications sans forcément savoir que telles ou telles conventions existent ou pourquoi elles existent. Il leur suffit souvent de comprendre comment les pièces du puzzle s’assemblent, ou plus concrètement de regarder les autres applications créées pour comprendre comment s’imbriquent les pièces. En fin de compte, l’imposition d’une contrainte confère même aux esprits les plus rebelles davantage de liberté.
Cependant, le pouvoir de la convention n’est pas sans danger. Il est aisé de croire que chaque aspect d’une application peut être conçu à partir de templates prédécoupés, alors qu’en réalité, la plupart des applications valables contiennent quelque chose d’unique, même un élément mineur. Le plus difficile reste donc de savoir quand s’écarter des sentiers battus de la convention et d’être capable de se montrer créatif.