👻Feufochmar utilise witches.town. Vous pouvez læ suivre et interagir si vous possédez un compte quelque part dans le "fediverse".

Euh soit je comprends pas ce que me dit Sonar, soit c'est un faux positif mastodon.xyz/media/d40yL93NOdb

👻Feufochmar @Feufochmar

@ralmn Ce n'est pas un faux positif. La façon dont tu as écrit ton code fait qu'à cet endroit, articleAdditionnelApres ne peut pas être null si articleAdditionnelAvant est null. J'utiliserai plutôt des if/elseif avec retour unique ici, c'est souvent un peu plus clair.

@Feufochmar @TheKinrar En gros la j'ai
A = null && B = null
A = null && B <> null
A <> null && B = null

et je continue si A <> null && B <> null

Je vois pas ou est le problème .... mastodon.xyz/media/zTU_defG_DF

@ralmn @Feufochmar @TheKinrar Le "problème" est, comme souligné, que B ne peut que être non nul à la seconde partie du test de la seconde ligne (sinon tu n'y arriverai pas, du fait de l'évaluation booléenne en court-circuit). D'où le verdict "test toujours vrai, inutile".

Si tu arrives à la première condition de la troisième ligne, c'est que A n'est pas nul (sinon, l'un des deux précédents tests aurait retourné vrai). D'où le même verdict, le bidule est inutile.

@TheKinrar @Feufochmar @ralmn Je précise (500 caractères, finalement, c'est pas toujours assez) "test inutile car toujours vrai et inclus dans un ET"

@ralmn @TheKinrar Le problème, c'est que si tu quittes la fonction via un return dès que tu entres dans une des conditions, le code qui suit n'est jamais exécuté. Donc quand tu vérifies la condition (A == null && B <> null), B est déjà non-null si A est null, car sinon il aurait déjà quitté la fonction, à cause de la condition (A == null && B == null) qui précède. La deuxième vérification (B <> null) est inutile dans le deuxième cas.