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

Actualités Discussion :

Le pire bout de code que vous ayez vu

  1. #381
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par spidermario Voir le message
    Sauf si “A” est une simplification dans la mention par mabu du code initial et qu'il s'agissait originellement d'une fonction.
    Voici des précisions.

    A, était un état booléen qui ne changeait pas, mais je saurai plus dire sur quoi ça portait.

    Par curiosité, j'ai dû aller voir un jour le code de la dernière fonction.... Il valait
    mieux ne jamais y passer (ouf !)
    Dernière modification par Mejdi20 ; 15/06/2010 à 15h07.

  2. #382
    Membre expert
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 3 100
    Points
    3 100
    Par défaut
    Citation Envoyé par gmotw Voir le message
    Moi je trouve ça très intelligent. Et oui! Le code est déjà prêt lorsque dans un futur proche, on se rendra compte que le boolean peut avoir une troisième valeur, qui n'est ni A ni non A. Ce codeur est un visionnaire.
    Le cerveau féminin...
    dam's

  3. #383
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    ça peut servir dans des cas d'automatisme ou de système embarqué, quand par exemple tu veux savoir si une porte automatique est ouverte ou fermée.

    On peut imaginer que ouverte = true, fermé = false, et entre les deux (en train de s'ouvrir ou de se fermer) = indéterminé.
    Dans ce cas tu ne représentes plus l'information "est fermée" mais plutôt une information d'état de la porte, ce qui se traduirait par une énumération. De plus, il te faudrait non pas 3 mais 4 états car il faut savoir si la porte s'ouvre, ou se ferme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    enum EtatPorte {
        OUVERTE = 1;
        FERME = 2;
        EN_FERMETURE = 3;
        EN_OUVERTURE = 4;
    }

  4. #384
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Suisse

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 519
    Points : 1 104
    Points
    1 104
    Par défaut
    Ou est immobile entre les deux.

  5. #385
    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
    L'exemple de la porte n'est pas trop bon je trouve.

    L'information est forcément binaire soit la porte est ouverte soit elle est fermée. Si elle est en fermeture c'est qu'elle est ouverte et si elle est en ouverture c'est qu'elle est fermée.

    Si elle est entre-ouverte alors elle est ouverte !

    Le seul cas où l'on ne peut pas savoir si elle est ouverte ou fermée c'est quand les détecteurs d'ouverture et de fermeture ne marchent pas.
    " 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 ]

  6. #386
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    Citation Envoyé par hegros Voir le message
    L'exemple de la porte n'est pas trop bon je trouve.

    L'information est forcément binaire soit la porte est ouverte soit elle est fermée. Si elle est en fermeture c'est qu'elle est ouverte et si elle est en ouverture c'est qu'elle est fermée.

    Si elle est entre-ouverte alors elle est ouverte !

    Le seul cas où l'on ne peut pas savoir si elle est ouverte ou fermée c'est quand les détecteurs d'ouverture et de fermeture ne marchent pas.
    lol, bien sûr que la réalité est un peu plus compliqué, j'ai juste pris une image que tout le monde pouvait comprendre.
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  7. #387
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    Citation Envoyé par jabbounet Voir le message
    lol, bien sûr que la réalité est un peu plus compliqué, j'ai juste pris une image que tout le monde pouvait comprendre.
    Désolé d'enfoncer le clou jabbounet, mais avec une image que tout le monde ne peut pas comprendre, ça donnerait quoi ?

    Merci.

  8. #388
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    Citation Envoyé par minnesota Voir le message
    Désolé d'enfoncer le clou jabbounet, mais avec une image que tout le monde ne peut pas comprendre, ça donnerait quoi ?

    Merci.
    une espèce d'usine a gaz, quoique avec un tribool c'est compliqué à faire....

    Ceci-dit le problème de la porte peut se compliquer quand cette porte fait partie d'un système ou la sureté de fonctionnement est importante (genre train) et qu'a la place d'un seul capteur tu en as plusieurs à gérer pour savoir si ta porte est ouverte, fermée, ou autre chose. ce serait dommage qu'a cause d'un unique capteur défaillant le train se mette à rouler portes ouvertes.
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  9. #389
    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
    Citation Envoyé par jabbounet Voir le message

    Ceci-dit le problème de la porte peut se compliquer quand cette porte fait partie d'un système ou la sureté de fonctionnement est importante (genre train) et qu'a la place d'un seul capteur tu en as plusieurs à gérer pour savoir si ta porte est ouverte, fermée, ou autre chose. ce serait dommage qu'a cause d'un unique capteur défaillant le train se mette à rouler portes ouvertes.
    Oui cela peut vite devenir compliqué (c'est pour cela que l'exemple n'est pas forcément bon, je préfère le mien avec une checkbox à 3 états ) d'ailleurs il est possible d'imaginer d'utiliser des capteurs analogiques plutôt que numériques.


    Sinon pour la sécurité de ce que j'en ai vu en pratique c'est que les capteurs sont montés en parallèles. Du coup cela revient à tester 2 capteurs plutôt qu'un.


    Avec des capteurs normalement fermés (on utilise en général des normalement fermés pour la sécurité c'est à dire un signal continuellement à 1):


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if(!CapteurNormalPorteOuverte ou !CapteurSecoursPorteOuverte)
    {
     //porte ouverte, interdit de démarrer le train
    }
    else
    {
    //ici la porte est bien fermée :-)
    }
    " 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 ]

  10. #390
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    Ben pour moi au-delà d'un booléen c'est un entier, je vois pas l'intérêt du tribool, et d'ailleurs ça devrait même pas s'appeler tribool.

  11. #391
    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
    Citation Envoyé par minnesota Voir le message
    Ben pour moi au-delà d'un booléen c'est un entier, je vois pas l'intérêt du tribool, et d'ailleurs ça devrait même pas s'appeler tribool.
    Peut-être que t'y vois pas l'intérêt mais cela existe. Ce n'est pas vraiment un entier en fait je pense que le troisième état est obtenu avec la valeur nulle. nulle étant ni true ni false..
    " 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 ]

  12. #392
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    Citation Envoyé par hegros Voir le message
    Ce n'est pas vraiment un entier en fait je pense que le troisième état est obtenu avec la valeur nulle. nulle étant ni true ni false..
    La logique booléenne c'est que tout ce qui est différent de 0 c'est true, si c'est 0 c'est false.

    Mais bon

  13. #393
    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
    Citation Envoyé par minnesota Voir le message
    La logique booléenne c'est que tout ce qui est différent de 0 c'est true, si c'est 0 c'est false.

    Mais bon
    Oui tu n'as pas tort c'est ce que l'on apprend en langage c...

    Mais bon cela existe quand même il y a même une table de vérité
    " 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 ]

  14. #394
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    Merci hegros.

  15. #395
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Mais comment gère-t-on l'état file not found?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  16. #396
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    Citation Envoyé par minnesota Voir le message
    La logique booléenne c'est que tout ce qui est différent de 0 c'est true, si c'est 0 c'est false.

    Mais bon
    avec ce type de booléen on sort du cadre de l'algèbre de bool pour rentrer dans un autre concept mathématique.

    Maintenant on peut aussi considérer qu'un booléen est un cas particulier d'enum, si ce n'est que l'enum sera géré avec un entier alors qu'un bit suffit pour le booléen.


    Citation Envoyé par hegros
    Sinon pour la sécurité de ce que j'en ai vu en pratique c'est que les capteurs sont montés en parallèles. Du coup cela revient à tester 2 capteurs plutôt qu'un
    oui, il y'a souvent plus d'un capteur dans ces cas là.

    Il faut aussi gérer le fait que la porte doit être verrouillée/bloquée/... (verrou / verrin hydraulique / ...) en plus d'être fermée, ce serait dommage qu'un passager ouvre la porte quand on roule....
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  17. #397
    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
    Citation Envoyé par jabbounet Voir le message
    Il faut aussi gérer le fait que la porte doit être verrouillée/bloquée/... (verrou / verrin hydraulique / ...) en plus d'être fermée, ce serait dommage qu'un passager ouvre la porte quand on roule....
    Oui c'est sûr l'informatique n'est pas une sécurité fiable et suffisante à ce niveau, c'est la mécanique qui est la dernière soupape de sécurité.(moins d'effet de bord)
    " 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 ]

  18. #398
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Citation Envoyé par hegros Voir le message
    (...) Mais bon cela existe quand même il y a même une table de vérité
    Euh, ce type d'électronique a été inventé pour pouvoir mettre en parallèle sur un même bus plusieurs circuits,
    qui peuvent ainsi « causer » chacun à leur tour.
    Rien à voir avec le définition de Wiki,
    (...) indiquant un état ambigu de non-validité dans la sortie.
    Ça permet juste au circuit d'être présent dans le reste de l'électronique, ou pas : quand il est présent il « cause » boolean (0 ou 1), quand il est absent (sortie haute impédance) il est absent, il ne cause pas, il n'y a pas d'état ambigu.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  19. #399
    Membre éclairé Avatar de unknow0
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 452
    Points : 676
    Points
    676
    Par défaut
    Citation Envoyé par Jipété Voir le message
    Ça permet juste au circuit d'être présent dans le reste de l'électronique, ou pas : quand il est présent il « cause » boolean (0 ou 1), quand il est absent (sortie haute impédance) il est absent, il ne cause pas, il n'y a pas d'état ambigu.
    sauf que s'il est seul ou que toutes les sorties sont en haute impédance tu as quoi en sortie un 0 ou un 1? tu as juste une belle antenne soit un état bien ambiguë non?

  20. #400
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Non, je ne vois pas ça comme ça, moi : quand un circuit est en état « haute impédance », il n'est pas présent dans la logique du système.
    Mais ce n'est pas de son fait ! C'est le système qui décide (et donc qui « sait ») quel circuit cause à tel ou tel instant.
    Le circuit va alors causer boolean en fonction de l'état de ses entrées (et de son schéma interne) et c'est tout.

    Dit autrement, lorsque le système va désactiver un circuit, il n'a aucune raison d'aller tester ensuite l'état de ses sorties.

    Pour reprendre l'exemple de la Checkbox,
    Code delphi : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if not Checkbox.Enabled then 
      exit // état Z
    else
      if Checkbox.Checked then
      //
      else
      //
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

Discussions similaires

  1. Quel est le pire bout de code que vous ayez jamais écrit ?
    Par Gordon Fowler dans le forum Débats sur le développement - Le Best Of
    Réponses: 61
    Dernier message: 31/10/2011, 12h18
  2. Quelle est la plus grosse erreur de programmation que vous ayez jamais commise ?
    Par Katleen Erna dans le forum Débats sur le développement - Le Best Of
    Réponses: 138
    Dernier message: 03/08/2011, 23h38
  3. Petit bout de code que je ne saisis pas trop
    Par MeTaLCaM dans le forum C#
    Réponses: 5
    Dernier message: 03/12/2009, 00h07
  4. [Vos débuts] Quel est le premier langage que vous ayez appris ?
    Par Commodore dans le forum La taverne du Club : Humour et divers
    Réponses: 171
    Dernier message: 02/02/2007, 14h43

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