GNU coding standards

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

Cet article ne s'appuie pas, ou pas assez, sur des sources secondaires ou tertiaires ().

Pour améliorer la vérifiabilité de l'article ainsi que son intérêt encyclopédique, il est nécessaire, quand des sources primaires sont citées, de les associer à des analyses faites par des sources secondaires.

Les GNU Coding Standards sont des ensembles de règles et de lignes directrices pour l'écriture de programmes qui fonctionnent toujours dans un système GNU.

Formatage du code

Les GNU Coding Standards spécifient exactement comment mieux construire le langage C. Ici un exemple caractéristique :

int
main (int argc, char *argv[])
{
  struct gizmo foo;

  fetch_gizmo (&foo, argv[1]);

 check:
  if (foo.type == MOOMIN)
    puts ("It's a moomin.");
  else if (foo.bar < GIZMO_SNUFKIN_THRESHOLD / 2
           || (strcmp (foo.class_name, "snufkin") == 0)
               && foo.bar < GIZMO_SNUFKIN_THRESHOLD)
    puts ("It's a snufkin.");
  else
    {
      char *barney;  /* Pointer to the first character after
                        the last slash in the file name.  */
      int wilma;     /* Approximate size of the universe.  */
      int fred;      /* Max value of the `bar' field.  */

      do
        {
          frobnicate (&foo, GIZMO_SNUFKIN_THRESHOLD,
                      &barney, &wilma, &fred);
          twiddle (&foo, barney, wilma + fred);
        }
      while (foo.bar >= GIZMO_SNUFKIN_THRESHOLD);

      store_size (wilma);

      goto check;
    }

  return 0;
}

Critiques

Linus Torvalds, l'initiateur de Linux, écrit en introduction du Linux kernel coding style qui présente le style d'écriture attendu pour le code du noyau Linux : « D'abord, je conseillerais d'imprimer une copie des GNU coding standards, et de ne PAS les lire. Brûlez-les, c'est un beau geste symbolique. »[1]

Standards Gnits

Cette section ne cite pas suffisamment ses sources (juin 2024)
Pour l'améliorer, ajoutez des références de qualité et vérifiables (comment faire ?) ou le modèle {{Référence nécessaire}} sur les passages nécessitant une source.

Les standards Gnits, également appelés Gnits, désignent une collection de « bonnes pratiques » et leur description, écrites et maintenues jusqu'en par un petit groupe de mainteneurs du projet GNU pour la construction du système GNU. Ces recommandations n'étaient pas officiellement reconnues comme des standards du projet, mais représentaient plutôt des avis pouvant servir d'introduction aux normes de codage GNU.

Plus généralement, ces recommandations ont cependant été adoptées par la communauté des programmeurs de logiciels libres dans les domaines de la programmation, la maintenance et la distribution logicielles. D'après la documentation des « Gnits », aujourd'hui disponible à des fins historiques, la plupart de ces « bonnes pratiques » a été intégrée dans la documentation des Autotools.

Étymologie

Les mainteneurs à l'origine de ces recommandations s'appelaient eux-mêmes le « gang nit-picker GNU » (de l'anglais « GNU nit-picker gang »). Le mot anglais « nit » est un synonyme du mot « pou » (en anglais « louse »), singulier du mot « poux » (en anglais « lice »). Le terme « nit picker » peut se définir par quelqu'un si pointilleux sur les erreurs d'autrui qu'il pourrait s'assoir durant des heures pour « cueillir ou piquer  » (du verbe anglais « pick ») ses poux. Cette expression pourrait se traduire en français par celui qui « cherche des poux sur les autres ».

Notes et références

Notes

  • Cet article est partiellement ou en totalité issu de l'article intitulé « Standards Gnits » (voir la liste des auteurs).

Références

  1. (en) Linus Torvalds, « Linux kernel coding standards » (consulté le )

Source de la traduction

  • (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « GNU coding standards » (voir la liste des auteurs).

Liens externes

  • (en) The GNU Coding Standards sur le site Internet du projet GNU
  • (en) Eclipse Code Style Formatter for GNU Coding Standards
  • icône décorative Portail de la programmation informatique