IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Analyse de code Discussion :

Utilisation de StyleC++


Sujet :

Analyse de code

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 219
    Points : 97
    Points
    97
    Par défaut
    Bonjour,
    Je dois utiliser ce fichier pour verifier mon code. J'ai pas mal de difficulte a comprendre son fonctionnement. Par exemple, je n'ai pas mis assez de commentaires, mais j'ai beau en mettre et mon pourcentage n'augmente pas. Savez-vous quelles sont les "normes" pour les commentaires?
    J'ai beaucoup de lignes de codes qui depassent 79 colonnes. Y-a-t-il un moyen pour que ca ne pose pas probleme a StyleC++ ?
    Enfin, j'ai quelques "Badly indented line in block." mais j'ai verifie plusieurs fois et j'ai pas l'impression que ce soit mal indente. D'ou cela peut-il venir sinon?

    Merci pour vos suggestions

    Et j'oubliais, aussi :
    Pointer not cleared after delete. Ici par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void StaffDepartmentlist::deleteTop(){
    	if (head)
    	{
    		NodePointer2 tempPtr = head;
    		head = head->link;
    		delete tempPtr; // Pointer not cleared after delete.
     
    	}
    }
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    struct NodeStaffDepart
    {
    	string departmentname;
    	string staffname;	
    	NodeStaffDepart* link;			
    };
    typedef NodeStaffDepart* NodePointer2;
    Est-ce une erreur comme supprimer une valeur mais pas le pointeur qui pointe dessus ou supprimer un pointeur mais pas la valeur pointee ?

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Bonjour,
    Citation Envoyé par jane40 Voir le message
    Par exemple, je n'ai pas mis assez de commentaires, mais j'ai beau en mettre et mon pourcentage n'augmente pas.
    Savez-vous quelles sont les "normes" pour les commentaires?
    Augmenter les commentaires dans le code pour augmenter un indicateur n'est pas gage de qualité. Un commentaire doit être présent s'il présente un intérêt par rapport au code. En ce sens, il ne doit pas décrire littéralement ce que le code fait par la suite, et ce pour deux raisons : la lecture du code est plus explicite et le code est toujours à jour... Tu peux trouver quelques discussions à ce sujet ici et ici.

    Citation Envoyé par jane40 Voir le message
    Enfin, j'ai quelques "Badly indented line in block." mais j'ai verifie plusieurs fois et j'ai pas l'impression que ce soit mal indente. D'ou cela peut-il venir sinon?
    Je ne connais pas ton StyleC++, mais peut être as-t-il du mal à distinguer les tabulations des espaces ?

    Citation Envoyé par jane40 Voir le message
    Et j'oubliais, aussi :
    Pointer not cleared after delete. Ici par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void StaffDepartmentlist::deleteTop(){
    	if (head)
    	{
    		NodePointer2 tempPtr = head;
    		head = head->link;
    		delete tempPtr; // Pointer not cleared after delete.
     
    	}
    }
    Il semble te reprocher de ne pas avoir fait tempPtr=NULL après le delete. Ta variable sort de sa portée. Donc, il n'y a pas de raison de s'en inquiéter. On peut vouloir le rajouter au cas où un jour quelqu'un

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 219
    Points : 97
    Points
    97
    Par défaut
    Citation Envoyé par 3DArchi Voir le message
    Je ne connais pas ton StyleC++, mais peut être as-t-il du mal à distinguer les tabulations des espaces ?


    Il semble te reprocher de ne pas avoir fait tempPtr=NULL après le delete. Ta variable sort de sa portée. Donc, il n'y a pas de raison de s'en inquiéter. On peut vouloir le rajouter au cas où un jour quelqu'un
    Merci. C'etait bien ca le probleme pour pointer not cleared after delete.
    Je ne comprends toujours pas le controle des commentaires par StyleC++ mais bon, j'ai reussi a atteindre le pourcentage requis.

    Je ne trouve pas StyleC++ vraiment bien a utiliser (meme si je ne connais aucun autre programme pour verifier du code C++), d'autant plus que personne n'a l'air de connaitre
    Y-a-t-il mieux?

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Citation Envoyé par jane40 Voir le message
    Y-a-t-il mieux?
    Le meilleur que je connaisse est la relecture par les pairs Il est rarement mis en œuvre, mais souvent très efficace.
    Sinon, je sais qu'il existe des outils en général payant d'analyse de code (cherche code analysis c++ ou metrics c++ ...). Professionnellement, je n'ai jamais été amené à en utiliser. J'ai discuté avec d'autres équipes qui en avait utilisé. Les remarques étaient souvent mitigées.

  5. #5
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    En terme de mesures de code, j'ai déjà utilisé plusieurs fois http://www.campwoodsw.com/sourcemonitor.html qui a l'avantage d'être gratuit.

    Pour ce qui est plus orienté analyse que simple mesure, il y a des outils genre lint++ (payant, mais pas très cher), mais je n'ai jamais investit le temps qu'il doit falloir pour que ça puisse donner quelque-chose.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 219
    Points : 97
    Points
    97
    Par défaut
    Merci pour vos avis. Finalement, j'ai appris que StyleC++ a été développé dans et pour ma fac, donc c'est bien normal que personne ne connaisse
    En conclusion, il n'y a pas de solution miracle (tout du moins gratuire) pour le problème de style !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  2. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo