J'ai participé à l'élaboration de normes de codage assez élaborées. D'après ma propre expérience, il est difficile de les faire respecter si l'on ne dispose pas de processus appropriés pour les maintenir et de stratégies pour les faire respecter.
Aujourd'hui, je travaille et je dirige un environnement où il est encore moins probable que des processus et des stratégies de suivi soient mis en place depuis longtemps. Je veux néanmoins maintenir un niveau minimum de code respectable. J'ai donc pensé que je pourrais obtenir de bonnes suggestions ici, et que nous pourrions ensemble produire un sous-ensemble raisonnable et léger des pratiques standard de codage les plus importantes pour que d'autres puissent l'utiliser comme référence.
Donc, pour souligner l'essentiel ici :
Quels éléments d'une norme de codage C++ sont les plus importants à respecter ?
-
Règles de réponse/vote
-
1 candidat par réponse, de préférence avec un bref motivation.
-
Vote négatif candidats qui se concentrent sur le style et les directives de formatage subjectives. Il ne s'agit pas d'indiquer qu'elles sont sans importance, mais seulement qu'elles sont moins pertinentes dans ce contexte.
-
Vote négatif les candidats se concentrant sur la manière de commenter/documenter le code. Il s'agit d'un sujet plus vaste qui pourrait même mériter son propre billet.
-
Votez pour des candidats qui facilitent clairement un code plus sûr, qui minimise le risque de bogues énigmatiques, qui augmente la maintenabilité, etc.
-
Ne votez pas dans n'importe quelle direction sur les candidats dont vous avez des doutes. Même s'ils semblent raisonnables et intelligents, ou au contraire "quelque chose que personne n'utiliserait", votre vote doit être basé sur une compréhension claire et une expérience.
-
0 votes
Il est probable que vous créiez ici une collection de règles incohérentes, dont la plupart ne résoudront pas les problèmes résultant d'un comportement indéfini.
1 votes
Une autre approche consiste à prendre une norme de codage existante (par exemple AV JSF, MISRA C++, www.codingstandard.com) et à afficher les règles qui vous semblent être de bons candidats.
0 votes
Comment le style peut valoir un vote négatif. Vous demandez les meilleures pratiques dans les normes, puis vous insistez pour ignorer les meilleures. Un code où chacun choisit sa propre convention de nommage (par exemple) est le moins lisible possible. Votez comme vous voulez, mes frères !
0 votes
@gbjbaanb : Essayez de comprendre l'objectif ici. Le style est important, mais si vous deviez choisir les (disons) 10 choses les plus importantes à avoir dans votre norme légère et facile à réviser en l'absence de tout processus, - alors le style devrait avoir une priorité assez faible.
0 votes
J'aime bien le fait qu'actuellement les deux premières options "garder les fonctions en dessous de 25 lignes" et "saupoudrer des assertions partout" sont pratiquement contradictoires. Si vous voulez faire les deux, achetez un écran plus grand ;-)
0 votes
@Robert, je considère que le processus fait partie du style - c'est le côté " doux " des normes. Assurez-vous que la norme porte sur la façon de le contrôler d'une manière plus accessible et plus structurée, sans dire aux gens d'utiliser des assertions, ou d'avoir des fonctions en 25 lignes. Par exemple, la structure de répertoire utilisée est ma priorité absolue.