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 :

Façon d'écrire votre code


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    410
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 410
    Points : 361
    Points
    361
    Par défaut Façon d'écrire votre code
    Bonjour à tous, je me posais la question suivante:
    N'ayant pas suivi de formation pour apprendre à programmer (j'apprend sur le tas) je ne sais pas s'il ya une façon "générique" de coder... j'entends par là en particulier comment vous définissez les noms de vos variables, structures, classes, fonctions. Est ce que vous utiliser des majuscules des "_" genre MainFrame ou Main_Frame ou main_frame ou encore int m_count;....
    C'est un topic où tout le monde est invité à présenter ça façon de voir les choses pour une meilleure clarté et ainsi apporter au autres.

  2. #2
    Membre confirmé Avatar de Lunixinclar
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 416
    Points : 489
    Points
    489
    Par défaut
    Salut, chaque équipe, et parfois chaque projet, a sa propre convention de nommage. Et chaque programmeur, sa façon d'indenter. La seule règle c'est de s'adapter.

    Pour les noms de variables locales je choisis les plus courts possible ex. int a, b; ça rend le code très clair. Avec une préférence pour les appeler n et i si c'est pour des boucles. Mais pour les bloucles imbriquées, t u v w ...

    Beaucoup de programmeurs commencent tous les noms de variables int par un i. Les tableaux de char par psz. Je ne suis pas cette démarche mais privilégie un nom clair et en francais, le plus explicite possible, à priori sans convention. Là encore, le plus court possible: par exemple une variable nommée nombre_de_lignes me plaira moins que nbLignes.

    Pour les structures, en général je l' appelle unXXX et pour un tableau de structures ça donne XXXs[]. Par exemple unMembre, et son tableau Membres[].

    L' underscore est pratique pour les noms de fonctions s'il est utilisé sous la forme objet_verbe() c'est grosso modo ce que les programmeurs C++ écriraient objet::verbe() et ça a l' avantage de rassembler par thème sans se pommer donc réduire le temps de lecture.

    Cependant je pense que l'indentation est beaucoup plus importante que la convention de nommage. Ce n'est que mon avis, chacun a le sien.

  3. #3
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    Une régle de base pour les noms de variable et de fonction et d'avoir des noms auto-informant, une variable nommée titi ou une fonction toto à éviter absolument. Ensuite il faut essayer de suivre ta régle de nommage sur tout le projet ne pas avoir un fichier avec des fonctions qui commencent avec une majusucule et dans un autre fichier d'autres avec une minuscule.


    A part ces deux régles c'est plutot libre, tu peux lire un peu la littérature que tu trouveras sur le sujet ( notation hongroise par exemple)

    Bon courage,
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  4. #4
    Membre averti Avatar de GyZmoO
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 428
    Points : 301
    Points
    301
    Par défaut
    Perso je fais ça a la sauce java : les fonctions commencent avec une minuscule et si la fonction fait plus de 2 mots les autres qui suivent en majuscule, exemple : saisirChaine, pour les variables pareil en étant le plus clair et court possible et aprés indentation classique a chaque bloc/boucle on décalle un peu plus et pour les accolades ouvrantes je les met a la ligne et non pas a la suite, voila voila
    define: Programmeur : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas.

  5. #5
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par reptils
    C'est un topic où tout le monde est invité à présenter ça façon de voir les choses pour une meilleure clarté et ainsi apporter au autres.
    Ma position est connue :

    http://emmanuel-delahaye.developpez.com/codage.htm
    Pas de Wi-Fi à la maison : CPL

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    410
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 410
    Points : 361
    Points
    361
    Par défaut
    j'aime bien ce que tu expliques dans ta page, en particulier :
    p_xx pointeur
    a_xx ou sa_xx tableau statiques(static array)....
    je pense que je vais m'en inspirer
    En ce qui concerne les fonction j'ai plutot l'habitude d'utiliser les underscore sans majuscules.

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    moi en gros j'utilise :

    • Des majuscules pour noms de constantes, précédées éventuellement du nom du projet si il peut y avoir des ambiguités (lien avec d'autres bibliothèques)(exemple : MACONSTANTE, MonProjet_MACONSTANTE)
    • Coller les mots en mettant une lettre majuscule au début de chaque mot pour les fonctions externes, mais précédé du nom du projet et d'un _ (exemple " extern void MonProjet_CetteFonction(void)")
    • Séparer les mots par un _, les démarrer par une majuscule, pour toutes les fonctions statiques (exemple "static void Cette_Fonction(void)" )
    • Nom du projet suivi du nom de la structure suivi de "struct" pour les structures globales (exempe "MonProjet_DataStruct"), ou sans le nom du projet pour les structures locales (exemple "DataStruct")
    • Toutes mes variables importantes avec un nom clair en toutes lettres (sauf les indices, et quelques petites variables dont la compréhension est immédiate (exemple : int numloop double Somme mais int i double d quand par exemple indice de tableau ou calcul intermédiare)
    • Aucune variable globale "extern"
    • Le minimum de variables globales (statiques) (atteignables par des fonctions publiques du style "get" si besoin est). Leur nom est en clair.
    • Si un fichier .c a besoin de certaines structures ou constantes, un fichier .h portant le même nom que le fichier, suivi de _Structs (exemple : MesFonctions.c MesFonctions_Structs.h)
    • A chaque fichier .c un fichier .h portant le même nom, contenant uniquement la définition des fonctions publiques, et incluant si besoin est le fichier *Structs.h correspondant.
    • Chaque fichier .c a un nom clair (verbe + nom quand il s'agit de ça, ou juste nom) , chaque mot débutant par une majuscule, précédé éventuellement du nom du projet (exemple : TraceDonnees.c MonProjetTraceDonnees.c)
    • Les fichiers sont découpés par fonctionalités (exemple : AccesDonnees.c TraceDonnees.c CreeDonnees.c)
    • les répertoires sont découpés par regroupement de fonctionalités (exemple interface, images, serveurs...)
    • Toutes les fonctions locales sont déclarées "static"
    • Enfin éventuellement si c'est demandé une définition de constantes PRIVATE et PUBLIC (ou PRIVATE est défini come static).


    Voilà..

    J'en ai peut-être oublié...


    [EDIT]
    Oui j'ai oublié 1 chose :

    Aucun nom de fichier source > 12 caractères (sans le ".c" )

    parce que......

    quand on fait une bibliothèque, l'archiveur "ar" ne prend que 14 caractères....

    Il en prend plus, mais il tronque le nom......

    Donc.... Si on veut pas se et lui mékanger les pinceaux, et comme je n'utilise que des blbiothèques, voilà.....

    [/EDIT]
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

Discussions similaires

  1. Sources C++ : mettez votre code ici
    Par r0d dans le forum Contribuez
    Réponses: 21
    Dernier message: 20/10/2009, 14h19
  2. [FTP] Meilleur façon de récupérer du code d'un serveur
    Par maximenet dans le forum Langage
    Réponses: 5
    Dernier message: 27/12/2006, 16h43
  3. Réponses: 3
    Dernier message: 17/08/2006, 04h11
  4. [VBA-E]Problème sur la façon d'écrire un programme...
    Par olosta dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 24/04/2006, 22h57
  5. [VBA Excel] Comment écrire un code dans le ThisWorkBook ?
    Par WebPac dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/05/2005, 15h03

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