Quels sont les avantages du paradigme «Convention over Configuration» dans le développement web? Et y a-t-il des cas où coller avec ça n'a pas de sens?Avantages du paradigme «Convention over Configuration»
Merci
Quels sont les avantages du paradigme «Convention over Configuration» dans le développement web? Et y a-t-il des cas où coller avec ça n'a pas de sens?Avantages du paradigme «Convention over Configuration»
Merci
La convention stipule que 90% du temps ce sera d'une certaine manière. Lorsque vous déviez de cette convention, vous pouvez apporter des modifications ... ou forcer chaque utilisateur à comprendre chaque paramètre de configuration. L'idée est que si vous en avez besoin différemment, vous le rechercher à ce moment-là, plutôt que d'essayer d'envelopper votre tête autour de tous les paramètres de configuration alors que souvent, cela n'a aucune valeur réelle.
À mon humble avis, cela a toujours du sens. Faire de la convention la priorité sur la configuration explicite est idéal. Encore une fois, si quelqu'un a une préoccupation, ils vont se forcer à enquêter sur le besoin.
Je pense que le bénéfice est simple: Aucune configuration nécessaire. Vous n'avez pas besoin de définir des emplacements pour ce type de ressource, par exemple, pour que l'application/l'infrastructure les trouve lui-même. Pour les cas où cela n'a pas de sens: toute situation où il sera assez fréquent que d'autres configurations soient requises, ou où il est logique qu'un développeur/administrateur doive «opter» pour un comportement explicitement (par exemple, pour éviter les effets secondaires imprévus et inattendus qui pourraient avoir des implications sur la sécurité).
L'avantage le plus évident est que vous devrez écrire du code moindre. Prenons le cas de l'API Java Persistence. Lorsque vous définissez un POJO ayant des attributs et des setters/getters correspondants, c'est une classe simple. Mais au moment où vous l'annotez avec @ javax.persistence.Entity, il devient un objet d'entité (table) qui peut être conservé dans DB. Maintenant, cela a été réalisé par une simple annotation, aucun autre fichier de configuration. Un autre point positif est, toute votre logique est à un endroit et dans une langue (c'est-à-dire que vous vous débarrassez de xml séparé).