CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Quel est le plus propre ?

Pseudo supprimé
Pseudo supprimé 28 février 2013 à 05:16:24

vous préférez quoi entre ces 2 la ? :fou:

https://gist.github.com/aanonymous/83459100f3d21570f624

godrik
godrik
Niveau 30
28 février 2013 à 06:36:10

un truc formate comme la premiere parceque la secondes est just illisible. Mais avec des accolades parceque j'ai pas que ca a faire de me rappeler dans quel ordre les else fonctionnent. (et que j'ai que moyennement confiance dans les relatoin entre la norme et les compilateurs dans des trucs obscure comme ca.) :)

Silvermo
Silvermo
Niveau 26
28 février 2013 à 07:08:37

elite 2009 : le code peut être réécrit en :
if (x) y = (w) ? 12 : 14;
else z = (w) ? 13 : 15;

chris_27
chris_27
Niveau 10
28 février 2013 à 08:53:59

WhiteAppleX: j'estime avoir répondu à cette question ici :
" il faut vraiment n'avoir rien compris à la notion de booléen pour proposer une telle abomination."

_skip
_skip
Niveau 10
28 février 2013 à 10:39:14

WhiteAppleX Voir le profil de WhiteAppleX
Posté le 28 février 2013 à 01:20:08 Avertir un administrateur
Alors je pose la question clairement vu que moi je souhaite savoir: C'est quoi le problème avec cet opérateur ternaire ?

:d) La lisibilité bien souvent...

Cette notation peut dépanner, mais elle devient vite difficile à lire sitôt que les conditions et résultats ne sont pas triviaux. Objectivement, plus tu as de machins de ce style "??:" qui s'emmêlent, plus l'oeil va devoir s'attarder sur le code à la relecture pour le comprendre.

Pour ce qui est de rendre le code plus concis? Bof c'est un demi-faux argument parce que si tu écris une ligne complexe qui est plus dure à comprendre que 3 lignes très simples, c'est que souvent tu es en train de faire de la merde.
Il y a des langages à la mode (scala pour ne pas le nommer) dont certains adeptes sont tout heureux de faire étalage de leur bêtise en transformant des codes de 5-6 lignes très simples en "one-liners" illisibles.

Maintenant, on peut utiliser un opérateur ternaire d'une manière à peu près défendable, souvent tu le vois dans du code de templating HTML comme par exemple :

<input id=@{id} type="checkbox" @{ setting.isEnabled() ? "checked": "" } />

Ou encore :
<h3>Hello @{ session != null ? session.username() : "Visitor" }</h3>

Surtout parce que ça permet d'éviter de déclarer trop de variables intermédiaires à usage unique qui finissent par nuir à la lisibilité, et de plus ça aide à préserver la "ressemblance" du template avec la sortie qu'il génère réellement.

Donc en gros, l'op ternaire n'est pas à proscrire à tout prix, mais il faut soigneusement évaluer au cas par cas si cela rend les choses globalement plus lisibles ou non.

chris_27
chris_27
Niveau 10
28 février 2013 à 12:22:50

Le problème initial n'a rien à voir avec l'opérateur ternaire en lui-même. Le problème, c'est que moitié du code présenté est du code mort. Et quand on écrit des choses inutiles, c'est de la merde./

Google_Bot
Google_Bot
Niveau 14
01 mars 2013 à 23:40:45

Chris :d) Dans le même genre d'âneries, on a http://www.pebkac.fr/pebkac/6877/ ...

PommesCarrotes :d) Quand tu dis "J'ai juste vu ce code appliqué en java", rassure-moi, tu déconnes hein? C'est un mec qui t'a fait une (vilaine) blague, c'est obligé :malade:

_skip
_skip
Niveau 10
02 mars 2013 à 11:57:30

Google_Bot
Posté le 1er mars 2013 à 23:40:45
PommesCarrotes Quand tu dis "J'ai juste vu ce code appliqué en java", rassure-moi, tu déconnes hein? C'est un mec qui t'a fait une (vilaine) blague, c'est obligé

:d) Faut quand même rester cool!
Je vois pas trop l'intérêt de se défouler sur un gars qui est venu avec une mauvaise idée.

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment