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

Contribuez C++ Discussion :

Bonnes pratiques C++


Sujet :

Contribuez C++

  1. #1
    T2!
    T2! est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 46
    Points : 47
    Points
    47
    Par défaut Bonnes pratiques C++
    Bonjour,

    Je suis à la recherche d'un guide de bonnes pratiques pour la programmation en C++. Je ne parle pas uniquement d'un guide de style (indentation, commentaires, etc.) mais aussi du bon usage de la surcharge des opérateurs, du constructeur par copie, etc.
    Je suis tombé sur un guide Google. En général j'ai un bon a priori sur ce que fait Google en la matière (c'est un gout perse, discutable mais qui n'est pas l'objet de mon post). Mais là, je suis très gêné car ce guide conduit à programmer en C++ comme on programme en Java.

    Voici le lien : http://google-styleguide.googlecode....k/cppguide.xml

    Ce guide vous parait-il judicieux ? Connaissez-vous d'autres guides de bonnes pratiques reconnus par une large communauté ?

    T2!

  2. #2
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    Sur cette problématique, les livres de Sutter sont biens ; (more) exceptional C++ ainsi que C++ coding standards (co-écrit avec Andrei Alexandrescu).

    Après ils sont pour le C++03. Je n'en connais pas sur le C++11
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  3. #3
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Un reproche que je fais à google, c'est d'interdire les exceptions. Complètement.

    À cause de ca, ils interdisent les constructeurs complexes, et se privent du RAII.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  4. #4
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Citation Envoyé par leternel Voir le message
    Un reproche que je fais à google, c'est d'interdire les exceptions. Complètement.

    À cause de ca, ils interdisent les constructeurs complexes, et se privent du RAII.
    Et se trainent donc des fonctions init(), ce qui oblige les invariants à être vérifiés dynamiquement, ...

    Bref -> bof.

    La réponse de David me parait bien.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  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
    Une question me semble importante pour ce genre de choses : Est-ce que tu veux des pratiques pur tenter de mettre de l'ordre dans de l'existant qui part n'importe où, ou bien pour partir sur de bonnes bases sur du code assez neuf ?

    Sinon, j'aime bien cette réponse : http://www.stroustrup.com/bs_faq2.html#coding-standard
    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
    T2!
    T2! est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 46
    Points : 47
    Points
    47
    Par défaut
    Il s'agit pour moi de partir sur de bonnes bases. Toutes les références que vous m'avez proposé sont très utiles.

    Merci à tous.

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

Discussions similaires

  1. Bonnes pratiques de protections individuelles
    Par Community Management dans le forum Sécurité
    Réponses: 22
    Dernier message: 05/04/2013, 11h47
  2. Réponses: 7
    Dernier message: 02/11/2005, 15h30
  3. [Bonne pratique]Stratégie d'allocation
    Par jowo dans le forum C
    Réponses: 1
    Dernier message: 05/10/2005, 14h47
  4. [FOREIGN K] Valeur de champ = nom de table. Bonne pratique ?
    Par Seb des Monts dans le forum Langage SQL
    Réponses: 9
    Dernier message: 17/05/2005, 10h56

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