@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.
@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"
@NuitsDeChine @TheKinrar @Feufochmar Merci a vous trois :)
j'ai enfin compris :)
@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.
@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 .... https://mastodon.xyz/media/zTU_defG_DFKV5aYKGY