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 :

Bien coder en C : avis sur bout(s) de code


Sujet :

C

  1. #21
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Sur ta fonction check_handle_HKLM()
    - Elle ne peut pas retourner un unsigned int : tu retournes -1
    - Elle doit retourner HKEY. Mais alors, comment signaler une erreur ? (je ne connais pas les valeurs possibles pour un HKEY valide ni leur type effectif)

    La meilleure solution n'est-elle pas de retourner un indicateur de réussite et de passer par la liste des paramètres le HKEY ?

    ..... check_handle_HKLM(struct s_registre *ptr_registre, HKEY * hKey)

  2. #22
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    En ce qui concerne la fonction compare_ch,

    - Je n'aime pas beaucoup l'utilisation de ces strlen() qui font à chaque fois parcourir la chaine pour trouver le zéro terminal, alors que nous allons être obligé de parcourir les chaînes pour les comparer (donc on pourra détecter à cette occasion le zéro terminal).

    - Je n'aime pas non plus ces +- 32 (en plus, ces tests sont faux si les caractères ne sont pas alphabétiques).

    - Le type des paramètres pourrait indiquer que les chaîne ne sont pas modifiées par la fonction (qualificatif const)

    Compte tenu de mes allergies, je verrais plutôt quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    int compare_ch(char const *str1, char const *str2)
    {
        int res = str1 == NULL || str2 == NULL;
        while(res == 0 && (*str1 != 0 || * str2 != 0))
        {
            res =  tolower(*str1) != tolower(*str2);
            str1++;
            str2++;
        }
        return res;
    }

  3. #23
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 140
    Par défaut
    Citation Envoyé par diogene Voir le message
    Sur ta fonction check_handle_HKLM()
    - Elle ne peut pas retourner un unsigned int : tu retournes -1
    - Elle doit retourner HKEY. Mais alors, comment signaler une erreur ? (je ne connais pas les valeurs possibles pour un HKEY valide ni leur type effectif)

    La meilleure solution n'est-elle pas de retourner un indicateur de réussite et de passer par la liste des paramètres le HKEY ?

    ..... check_handle_HKLM(struct s_registre *ptr_registre, HKEY * hKey)
    Merci Diogene, je regarde tout cela, idem pour la fonction comparer_ch.


Discussions similaires

  1. Votre avis sur des parties de code "triviales"
    Par bstevy dans le forum SQL
    Réponses: 2
    Dernier message: 20/05/2015, 03h35
  2. Demande d'avis sur bout de code
    Par youx21 dans le forum Langage
    Réponses: 9
    Dernier message: 23/09/2013, 15h14
  3. Votre avis sur une portion de code
    Par ninikkhuet dans le forum Langage
    Réponses: 7
    Dernier message: 29/10/2009, 13h33
  4. [POO] Avis sur la Lisibilité du code
    Par redsaint0 dans le forum Langage
    Réponses: 7
    Dernier message: 12/03/2007, 21h09
  5. [java.lang.class] Votre avis sur une portion de code
    Par be_tnt dans le forum Langage
    Réponses: 3
    Dernier message: 18/10/2006, 16h55

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