Forum Programmation.c++ Code cleaning

Posté par  .
Étiquettes : aucune
0
28
nov.
2004
Bijour...

Est-ce que l'un d'entre vous connaitrait l'existence d'un script ou d'un soft permettant une homogénisation du code (indentation & co...). Je bosse sur un projet où tout le monde à une façon différente de s'y prendre et ça serait sympa qu'il soit homogène en version finale...
Merci bcp !

-- LastMan

N'oubliez pas de linker : http://www.NoSoftwarePatents.com(...)
  • # indent

    Posté par  (site web personnel) . Évalué à 2.

    L'utilitaire indent a l'air d'etre fait pour ça (mais je ne sais pas si ça merche avec du C++...surement)

    Sinon, il y a un truc pour java, qui s'apelle checkstyle (http://checkstyle.sourceforge.net/(...) ), et qui vérifie partout que de code respecte des regles de style, comme l'indentation, mais ausi l'utilisation des espaces (if(){ ou if () {), ou le nommage des variables. Par contre, je ne connais pas d'équivalent pour C++.

    Je suis curieux de les découvrir, je suivrai ce post avec intérêt.
    • [^] # Re: indent

      Posté par  (Mastodon) . Évalué à 2.

      Et pour java toujours, on peut coupler checkstyle à Jalopy (http://jalopy.sourceforge.net/(...) ) qui formatte le code.
      Sur un même projet, si tous les développeurs ont jalopy+checkstyle configurés identiquement ça simplifie grandement la fusion de source.

      Il y a des plugins pour eclipse pour ces deux outils.
    • [^] # Re: indent

      Posté par  . Évalué à 4.

      astyle doit gerer le c, c++,java
  • # Yet another flamewar ?

    Posté par  . Évalué à 1.

    Cela sort un peu du sujet mais je me demande un peu quelle est l'utilité de ce genre d'outils. Personnellement, ce que je demande à un bout de code c'est :

    - De compiler.
    - D'être lisible.

    Sorti de cela, le style de présentation fait directement partie de l'expression du programmeur et ne devrait pas, à mon goût, être altérée. Mais pire encore, dans certains cas, les critères de mise en page dépendent directement du contexte. Exemple, si la plupart du temps la mise en place d'un « if » implique celle d'un bloc entre accolades et d'une indentation adéquate, il m'arrive de temps en temps d'utiliser une suite de « if » successifs terminés par une seule instructions. J'aligne alors souvent ces « if » multiples sur la même colonne, un par ligne. C'est au mépris des recommandations de base en la matière, mais il se trouve que c'est ce qu'il y a de plus clair dans ce contexte.

    Bref, je trouve les homogéniseurs de code limite fachos, et en tout cas très trollogènes.

    Mais ce n'est bien sûr que mon avis ... :-)
    • [^] # Re: Yet another flamewar ?

      Posté par  (site web personnel) . Évalué à 2.

      Avoir des contraintes de style est TRES agréable dès qu'on est travaille à plusieurs sur le même code. Un développeur qui apporte une modification au code d'une autre personne n'est pas tentée de le reformater car il n'utilise pas la même indentation ou qu'il est habitué à mettre les accolades à la ligne.

      Du coup on économise des efforts et les outils de diffs gardent leur efficacité.

      Après les outils de formattage/vérification de style sont paramétrables et un projet géré par des anarchistes peut s'autoriser le if sans accollade...
      • [^] # Re: Yet another flamewar ?

        Posté par  . Évalué à 3.

        peut s'autoriser le if sans accollade...

        Parlons-en.

        Les compilateurs font aujourd'hui eux-mêmes leurs optimisations, mais il n'y a plus beaucoup de gens qui savent qu'en principe la définition d'un bloc entre accolades implique la mise en place d'un cadre de pile (ce qui rend possible l'utilisation de variables locales en son sein, d'ailleurs), et que ce n'est pas forcément souhaitable, ni souhaité.

        Bref, je trouve que la rigueur en programmation devrait s'exprimer à ce niveau, et pas sur les effets cosmétiques qui ne sont qu'histoire de goût. A mon avis, aucun programmeur ou chef de projet conscients de ces faits et ayant suffisament développé n'a de temps à perdre avec ce genre de joujou, m'enfin bon. Si cela rend service à quelqu'un ...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.