Je vais prendre l'avis controversé et dire non, vous n'avez pas besoin d'une norme de codage . Soit les règles sont, comme vous le dites, des directives applicables à l'IDE, les meilleures pratiques générales que tout le monde dans chaque entreprise doit suivre, soit ce sont des appels de jugement au cas par cas par équipe qui doivent être effectués par plus d'une personne dans une équipe compétente. via la programmation en paire ou les revues de code.
Des choses comme Comment devrions-nous nommer cette variable? Quelles fonctionnalités linguistiques devrions-nous utiliser? Faut-il éviter? Quels tests sont les meilleurs? Il vaut mieux ne pas répondre à ces questions jusqu'à ce que nous rencontrions le problème étroitement défini sur lequel nous travaillons actuellement .
Cristallisé à partir de ces décisions minutieuses, des normes / modèles informels peuvent apparaître au sein des équipes, en fonction de l'intersection avec le domaine problématique actuel et les technologies utilisées. La codification de ces moyens signifie que nous pensons que des choses comme la norme de dénomination, le sous-ensemble de langues approprié, etc. utilisées sur ces projets, sur la base de centaines de micro décisions, et adoptées de manière informelle par ces équipes devraient guider chaque projet à l'avenir.
En principe, cela ressemble à une grande chose, mais en réalité, cela devient juste un aimant pour la politique. Quels outils pouvons-nous forcer tout le monde à utiliser? Qu'est-ce que je veux forcer les autres à éviter? Si tout le monde était d'accord sur ces questions, nous n'aurions pas besoin d'une norme. Nous le ferions juste. D'après mon expérience, les normes découlent du désir d'un sous-ensemble de développeurs d'exercer un contrôle sur un autre sous-ensemble. Généralement, ce type de politique et la police technologique qui en découle ne font qu'étouffer l'innovation plutôt que de fournir des orientations.
Si vous voulez de vrais conseils , au lieu de lire une norme avec un tas de règles inutiles, allez trouver des membres compétents de votre équipe et demandez-leur ce qu'ils en pensent. Par quoi ont-ils été brûlés? Comment vous suggèrent-ils d'écrire du code? Vous obtiendrez une variété de réponses utiles avec beaucoup d'expérience précieuse pour le sauvegarder. Vous verrez beaucoup d'intersections basées sur une expérience commune. Au lieu de la monoculture imposée par la norme, vous verrez également beaucoup de diversité qui ne peut que vous aider à voir de nombreuses façons valables de résoudre les problèmes.
Et lorsque quelqu'un vous dit de ne pas faire quelque chose à cause d'une règle dans la "norme" mais n'a aucune expérience ou sauvegarde raisonnable de sa réclamation, ignorez-le. Ici, la norme n'a servi personne ni fait de personne un meilleur développeur.