+ Répondre à la discussion Actualité déjà publiée
Page 7 sur 10 PremièrePremière ... 345678910 DernièreDernière
Affichage des résultats 121 à 140 sur 185
  1. #121
    Membre expérimenté
    Inscrit en
    octobre 2004
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : octobre 2004
    Messages : 329
    Points : 566
    Points
    566

    Par défaut

    Citation Envoyé par Barsy Voir le message
    Parce qu'il est certains cas où il faut que l'indentation se fasse au niveau d'un caractère de la ligne du dessus. Par exemple ça :

    Code :
    1
    2
        if (!JS_DefineProperty(cx, o, "data", STRING_TO_JSVAL(JS_NewStringCopyN(cx, data, res)),
                               NULL, NULL, JSPROP_ENUMERATE))
    Ici la deuxième ligne doit être alignés sur la parenthèse ouvrante de la première ligne. C'est impossible à faire si on utilise des tabulations.
    Mouais... ici il suffit de mettre autant de tabulations que pour le "if" et de ne mettre des espaces que pour indenter relativement au if.

    Beaucoup d'IDE remplacent par défaut les tabulations par des espaces.
    Mauvais IDE, changer d'IDE

  2. #122
    Expert Confirmé
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2004
    Messages : 1 717
    Points : 3 334
    Points
    3 334

    Par défaut

    Sacree thread. Ya des trucs qui m'ont bien fait rire (le coup du ; a la ligne 80 en particulier).

    Concernant les retours multiples, voici ma philosophie concernant les breaks et continue, qui est liee (avec laquelle beaucoup de devs semblent etre d'accord: http://programmers.stackexchange.com...es/58253#58253)

    When used at the start of a block, as first checks made, they act like preconditions, so it's good.

    When used in the middle of the block, with some code around, they act like hidden traps, so it's bad.
    Pour moi c'est pareil pour les retours en milieu de fonction. En soit je trouve que c'est une tres mauvaise idee de les interdire parceque ca empeche tout ce qui est tests de preconditions.

    Les fonctions, lorsquelles sont lues, le sont de haut en bas. Il est facile de reperer une return si il est proche du debut de la fonction et associe a un if et que le bloc du if est court.
    C'est encore plus facile a lire si ca se repete parcequ'il y a plusieurs preconditions pour arriver au traitement final (je ne parle pas d'erreur ou d'assertions ici, c'est plus comme le pattern pipeline).

    En revanche des que le return est planque au milieu d'un bout de code, ca peut etre tellement surprenant qu'en le survolant on ne le voit pas.

    Donc en gros, c'est un peu se tirer une balle dans le pied (no pun intened) de s'interdire les retours multiples parceque ca encourage un style en arbre de condition qui est tres difficile a lire passe le 2nd niveau de profondeur. C'est un peu comme s'assurer qu'on ne pourra jamais avoir de code structure de maniere lisible.

    Mettre les retours de maniere evidente, lisible et correcte est beacoup plus facile quand on a pas des barriere inutiles.

  3. #123
    Inactif
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    janvier 2007
    Messages
    6 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : janvier 2007
    Messages : 6 608
    Points : 13 112
    Points
    13 112

    Par défaut

    Citation Envoyé par Joker-eph Voir le message
    Mauvais IDE, changer d'IDE
    Le paramétrer correctement est une solution moins radicale et plus facile à maître en oeuvre.

  4. #124
    Expert Confirmé Sénior
    Profil pro
    Inscrit en
    décembre 2007
    Messages
    3 213
    Détails du profil
    Informations personnelles :
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : décembre 2007
    Messages : 3 213
    Points : 10 730
    Points
    10 730

    Par défaut

    Citation Envoyé par Bluedeep Voir le message
    Le paramétrer correctement est une solution moins radicale et plus facile à maître en oeuvre.
    J'avais interprété ça comme une caricature de Berthold Brecht : Puisque le peuple vote contre le Gouvernement, il faut dissoudre le peuple!
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  5. #125
    Modérateur
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    14 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2006
    Messages : 14 002
    Points : 25 257
    Points
    25 257

    Par défaut

    Citation Envoyé par el_slapper Voir le message
    J'avais interprété ça comme une caricature de Berthold Brecht : Puisque le peuple vote contre le Gouvernement, il faut dissoudre le peuple!
    C'est ce que le gouvernement fait actuellement : Il incite les plus aisés à se barrer du pays pour ne garder que la population plus encline à approuver ses décisions.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur.
    Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  6. #126
    Inactif
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    janvier 2007
    Messages
    6 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : janvier 2007
    Messages : 6 608
    Points : 13 112
    Points
    13 112

    Par défaut

    Citation Envoyé par CinePhil Voir le message
    C'est ce que le gouvernement fait actuellement : Il incite les plus aisés à se barrer du pays pour ne garder que la population plus encline à approuver ses décisions.
    En réalité, il voudrait même aller plus loin et perfectionner le système en bricolant le corps électroral.

  7. #127
    Rédacteur/Modérateur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    décembre 2006
    Messages
    9 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2006
    Messages : 9 960
    Points : 15 759
    Points
    15 759

    Par défaut

    Citation Envoyé par Hinault Romaric Voir le message
    [B][SIZE="4"]voici quelques règles drôles qui y sont recensées : l'interdiction d’utiliser des retours multiples
    Et donc l'obligation de tout encapsuler dans des if/then/else... et donc d'indenter tout le code qui suit.

    l’obligation de faire précéder les noms des tables de la base de données des caractères « tbl »
    Ce qu'il y a de bien avec le typage statique, c'est que c'est statique. Généralement le type est précisé avant le nom de la variable...
    Ca ne sert a rien de le repéter dans le nom.

    Code C :
    1
    2
    int intCompteur; 
    float floatProbability;

    l’imposition d’un nombre d’espaces pour l’indentation ou encore l’utilisation de l’inversion de l’indentation.
    astyle est votre ami.


    Quelles règles de codage étranges avez-vous dû suivre ?
    En cas de modif/correction, garder une copie de l'ancienne fonction entre commentaire. Une sorte de versionning intégré au code.

    Code C :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    /* 01/03/2007 : remplacé suite à correction du BUG-123
    int getStructValue(MyStruct *ptr) {
      return ptr->value;
    }
    */
     
    /* 12/09/2007 : remplacé suite à changement de structure
    int getStructValue(MyStruct *ptr) {
      if (ptr!=NULL) return 0;
      return ptr->value;
    }
    */
     
    int getStructValue(MyStruct *ptr) {
      if (ptr!=NULL) return 0;
      return ptr->estimated_value;
    }
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  8. #128
    Expert Confirmé
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2004
    Messages : 1 717
    Points : 3 334
    Points
    3 334

    Par défaut

    Citation Envoyé par pseudocode Voir le message

    En cas de modif/correction, garder une copie de l'ancienne fonction entre commentaire. Une sorte de versionning intégré au code.

    Code C :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    /* 01/03/2007 : remplacé suite à correction du BUG-123
    int getStructValue(MyStruct *ptr) {
      return ptr->value;
    }
    */
     
    /* 12/09/2007 : remplacé suite à changement de structure
    int getStructValue(MyStruct *ptr) {
      if (ptr!=NULL) return 0;
      return ptr->value;
    }
    */
     
    int getStructValue(MyStruct *ptr) {
      if (ptr!=NULL) return 0;
      return ptr->estimated_value;
    }

    Le code etait it finalement mis dans un control de source, histoire d'ajouter un peu d'ironie?

  9. #129
    tio
    tio est déconnecté
    Membre à l'essai
    Inscrit en
    août 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : août 2005
    Messages : 46
    Points : 22
    Points
    22

    Par défaut

    En PHP, dans une page, je dois récupérer la liste des voitures pour les afficher en tableau.
    J'ai une classe Voiture.
    Je fais donc une méthode statique Voiture::getVoitures() qui fait une requête et me renvoie un tableau de Voiture.

    Le responsable regarde mon code et me demande ce que veut dire ::
    Je lui explique que c'est une méthode statique, il me répond que ça n'existe pas en PHP (on est en PHP5.3 ...), mais uniquement en Java voyons.
    Il m'explique la méthode normale :
    $maVoiture = new Voiture();
    $tabVoitures = $mavoiture->RecupListVoiture();
    qui renvoie un tableau de tableaux associatifs champ=>valeur
    Appréciez aussi le franglais...

  10. #130
    Membre du Club Avatar de clampin
    Homme Profil pro
    Inscrit en
    février 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : février 2005
    Messages : 90
    Points : 65
    Points
    65

    Par défaut

    Moi j'ai eu un programme ou l'on devait nommer toutes les fonction comme suit, le premier mot en minuscule et deuxième mot, la première lettre du second mot en majuscule et le reste en minuscule....

    par exemple une fonction qui ouvre un fichier...

    Code :
    1
    2
    3
    4
    5
    void ouvrirFichier()
    {
     ....
    }

  11. #131
    Expert Confirmé Avatar de Barsy
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    octobre 2007
    Messages
    1 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : octobre 2007
    Messages : 1 380
    Points : 3 794
    Points
    3 794

    Par défaut

    Citation Envoyé par clampin Voir le message
    Moi j'ai eu un programme ou l'on devait nommer toutes les fonction comme suit, le premier mot en minuscule et deuxième mot, la première lettre du second mot en majuscule et le reste en minuscule....

    par exemple une fonction qui ouvre un fichier...

    Code :
    1
    2
    3
    4
    5
    void ouvrirFichier()
    {
     ....
    }
    Tout ce qu'il y a de plus normal quoi...
    "tatatatatatatatataaa !! tata taaa !! tata taaa !! tatatata tataaa !! tata taaa !! tata taaa !!"

  12. #132
    Modérateur
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    14 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2006
    Messages : 14 002
    Points : 25 257
    Points
    25 257

    Par défaut

    Citation Envoyé par clampin Voir le message
    Moi j'ai eu un programme ou l'on devait nommer toutes les fonction comme suit, le premier mot en minuscule et deuxième mot, la première lettre du second mot en majuscule et le reste en minuscule....

    par exemple une fonction qui ouvre un fichier...

    Code :
    1
    2
    3
    4
    5
    void ouvrirFichier()
    {
     ....
    }
    Euh... c'est très fréquent ça !
    Je crois même me souvenir que c'est un standard dans certains frameworks tels que Zend Framework ou Symfony ou JBoss Seam.
    Ou bien une règle du même genre qui permet au framework de décomposer le nom et de savoir comment le traiter si j'ai bien compris.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur.
    Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  13. #133
    Inactif
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    janvier 2007
    Messages
    6 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : janvier 2007
    Messages : 6 608
    Points : 13 112
    Points
    13 112

    Par défaut

    Citation Envoyé par clampin Voir le message
    Moi j'ai eu un programme ou l'on devait nommer toutes les fonction comme suit, le premier mot en minuscule et deuxième mot, la première lettre du second mot en majuscule et le reste en minuscule....
    Cette convention très habituelle s'appelle la lowerCamelCase; elle est très fréquente et ne saurait certainement pas rentrer dans la liste des règles "bizarres".

  14. #134
    Expert Confirmé
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2004
    Messages : 1 717
    Points : 3 334
    Points
    3 334

    Par défaut

    C'est aussi la version du camelCase standard de Java. Ce genre de regle n'influe pas des masses sur la sanite de celui qui lis, donc c'est pas vraiment un probleme.

    Moi j'utilise beaucoup un mix de CamelCase pour les types, sous_lignes pour les fonctions et les noms de variables, et CamelCase_AvecUnderscore dans certains cas particuliers.

    Ca peut aliener certains, mais l'experience montre que mieu vaut savoir s'adapter a ce genre de regle qui peuvent etre differentes selon les projets.

  15. #135
    Membre Expert Avatar de LooserBoy
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    février 2005
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : février 2005
    Messages : 1 083
    Points : 1 868
    Points
    1 868

    Par défaut

    On vient de me mettre sur une évolution de notre solution logicielle.
    En mettant le nez dans le code, je me retrouve à lire du franglais particulièrement approximatif posant des problèmes de compréhension de l'utilité/fonction du mécanisme mis en oeuvre et même parfois avec de la logique inversée.

    Exemple:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // A l'ouverture de la fenêtre d'édition de l'élément
    bool modificationEnCours = true;
    
    ...
    
    // A la fermeture de la fenêtre d'édition
    if (!modificationEnCours)
    {
        //Sauvegarde des modifications
    }
    Tout ça pour dire que des données ont bien été modifiées entre l'ouverture et la demande de fermeture de l'écran...
    Vu sur un paquet de cigarettes: "Fumer peut entrainer une mort lente et douloureuse"
    - Vivre aussi... Ce n'est pas forcément moins douloureux et c'est même beaucoup plus lent...

  16. #136
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    septembre 2007
    Messages
    7 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : septembre 2007
    Messages : 7 102
    Points : 12 025
    Points
    12 025

    Par défaut

    En parlant de camelCase, je me rappelle un développeur qui nomme les variables et fonctions en respectant le camelCase mais qui est presque une phrase complète.

  17. #137
    Rédacteur/Modérateur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    décembre 2006
    Messages
    9 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2006
    Messages : 9 960
    Points : 15 759
    Points
    15 759

    Par défaut

    Citation Envoyé par andry.aime Voir le message
    En parlant de camelCase, je me rappelle un développeur qui nomme les variables et fonctions en respectant le camelCase mais qui est presque une phrase complète.
    Ah, j'ai connu ça aussi...

    JeCroisQueCeNomDeFonctionEstTrop(long aLire)
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  18. #138
    Invité de passage
    Inscrit en
    juillet 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : juillet 2008
    Messages : 1
    Points : 1
    Points
    1

    Par défaut Limiter le nombre de lignes de code dans une méthode

    Je trouve la limitation du nombre de lignes de code dans une méthode mal pensé
    parce qu'elle oblige le développeur à éclater tout un algorithme pour respecter la règle !!!

  19. #139
    Membre éprouvé Avatar de rt15
    Homme Profil pro
    Développeur informatique
    Inscrit en
    octobre 2005
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : octobre 2005
    Messages : 215
    Points : 487
    Points
    487

    Par défaut

    Éclater un long algo est parfois une très bonne chose. Cela permet souvent de diviser la complexité en petit bouts simples. Le code résultant est souvent bien plus lisible.

    Mais bon tout dépend de l'algo...

  20. #140
    Expert Confirmé
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2004
    Messages : 1 717
    Points : 3 334
    Points
    3 334

    Par défaut

    Citation Envoyé par Caravane Voir le message
    Je trouve la limitation du nombre de lignes de code dans une méthode mal pensé
    parce qu'elle oblige le développeur à éclater tout un algorithme pour respecter la règle !!!
    C'est typique de confondre un effet de bord avec une source d'information.
    Du code bien organise est souvent court dans les fonctions, parcequ'elles ne font qu'une chose a la fois, et c'est une generalite (il y a des fonctions qui doivent etre longues par design), donc on obtiens souvent des fonctions avec peu de lignes, qui tiennent dans un ecran.

    Partir du principe que toutes les fonctions DOIVENT avoir un maximum d'un nombre de ligne est du coup pas tres logique puisque c'est pas parcequ'on a peu de ligne qu'on a une bonne organisation de code, c'est l'inverse.


    (Je dis ca, j'ai pas une seule fonction longue dans mon code actuel d'un tres gros projet...)

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •