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

C++ Discussion :

Augmenter la fiabilité du code


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2002
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 44
    Par défaut Augmenter la fiabilité du code
    Bonjour,

    Quelles sont les techniques que vous employez pour augmenter la fiabilité de votre code??

    Merci

  2. #2
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    qu'entend tu par fiabilité du code ???
    le rendre robuste, infaillible au bug ???

    si c'est ca ben les trucs de base :
    -tester chaque pointeur avant de s'en servir
    -pour ca eviter les pointeurs -> privilégier les reférences
    -tester chaque allocation dynamique (new)
    -mettre des try/catch autour des blocs critiques avec les bonnes exceptions qui vont bien
    -faire tres attention au domaine de définitions (un int est toujours inférieur a 65535, a faire attention quand on transforme une string en int par exemple)
    -creer des exceptions perso ex : "intOutOfRange",...
    -ne surtout pas faire de cast type long dans int ou signed/unsigned
    ...

  3. #3
    Membre averti
    Inscrit en
    Décembre 2002
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 44
    Par défaut
    J'entends par fiabilité : la capacité à exécuter une séquence d'opérations d'une façon déterministe, même dans des conditions exceptionnelles.

  4. #4
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    bon alors si tu appliques ce que j'ai posté précédement je pense que tu peux balancé une routine de test infini et aléatoire du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Générer paramètres d'entrée
     
    while( true )
    {
        AppelerCeQuIlFautTester
        peutEtreVerifierRetour
        //en meme temps si ca n'a pas planté c'est bon
    }
    et voila, sachant qu'il faut lancer ca le vendredi en partant du boulot, et si quand tu reviens le lundi matin ca tourne encore personnelement je valide la méthode. (oui avant j'ai fais les test de base, si j ai besoin d'un int je lui envoi 1, s'il est unsigned j'essaye avec -1...).
    J'aime bien cette méthode elle permet de tombé sur des cas auquel tu ne pensait vraiment pas

  5. #5
    Membre averti
    Inscrit en
    Décembre 2002
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 44
    Par défaut
    En fait, je me demande s'il n'existe pas des logiciels, des techniques connus.
    Ici tu teste juste ta fonction, mais comment savoir si ton prog a testé tous les cas possibles, ne plantera pas lors des cas extrèmes etc...
    Par exemple, sur les systèmes critiques du genre matériel d'hopital, aéronautique, il doit bien exister des méthodes fiables pour tester leur programmes.

  6. #6
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    ben a vrai dire tester un programme revient a tester chaque instruction de celui ci, donc pour simplifier on teste chaque méthode de la couche la plus base, chaque méthode de la couche juste supérieur et tout ca jusqu'a la couche la plus haute.

    Pour les outils existant il en existe des quantité mais beaucoup sont sous licence et accessible uniquement par les entreprises
    Ils existe des outils qui teste les fuites mémoires (les new sans delete )
    ceux qui analyse la couverture de code (il peux te prevenir que selon la suite de if que tu a coder certaines eventualité ne seront jamais atteintes)
    et aussi des outils qui permette de faire ce que je t'ai dis au précedent post( qui simplifie mais pas tant que ca et qui ne couvre qu'un domaine de valeur bien moindre)

    Pour info je boss pour l'armée . Chaque rendu de programme se fait accompagné du rapport de test de chaque méthode de l'application.

  7. #7
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Les logiciels critiques, par exemple celui qui pilote le Météore (métro automatique à Paris), sont conçus à l'aide de méthodes de spécification prouvables à 100% (méthode B pour ce que je sais). Ce qui signifie que l'on est certain de leur fiabilité algorithmique.

    En règle générale, beaucoup de choses sont réglées au niveau de la conception (identification des cas d'utilisation, des scénarios, identification de patterns, ...).

    Enfin, au niveau purement C++, il y a des concepts et règles pour éviter les comportements indéterminés, les failles, et rendre le code plus maintenable. Le RAII est par exemple un concept primordial.

    Les tests unitaires sont également de bons procédés.

Discussions similaires

  1. fiabilité code coté client
    Par thaliakyl dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/06/2012, 13h13
  2. Réponses: 10
    Dernier message: 17/01/2012, 17h10
  3. Augmenter la hauteur du div/span de la balise "code"
    Par Djakisback dans le forum Evolutions du club
    Réponses: 10
    Dernier message: 24/01/2009, 14h31
  4. Augmenter la fiabilité du code écrit
    Par abbd dans le forum Windows Forms
    Réponses: 3
    Dernier message: 08/12/2008, 10h31

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