0
votes

Pourquoi retourner 0 ne sera jamais exécuté à l'intérieur de ce code?

J'utilisais si et sinon si pour déterminer la bonne hauteur pour deux formes d'écran différentes et que je reçois un avertissement sur "Retour 0" en disant qu'il ne sera jamais exécuté. Comment me taire cet avertissement?

est-il possible d'utiliser un cas? x xxx


4 commentaires

Supprimer la ligne inutile 0 La ligne et l'avertissement sera parti.


merci, je pensais à cela, mais je n'étais pas sûr si ce serait la bonne chose à faire


Non liée à votre question mais vous ne devez pas vérifier le type de périphérique. Basez votre calcul sur la taille de la vue actuelle, pas le type de périphérique.


Alors quelle serait la bonne voie


3 Réponses :


2
votes

Votre code doit prendre l'une des trois branches du bloc IF / SQUI SI / SQUINT IF / SINE, et les trois branches de retour, l'exécution ne peut jamais atteindre ce bloc. Le compilateur est suffisamment intelligent pour remarquer ceci (optimisation de suppression du code mort) et vous donne un avertissement. Probablement le moyen le plus simple est de:

  • Laisser la ligne de retour 0
  • Changez votre code de sorte que la branche Else ne soit plus une autre: xxx

0 commentaires

0
votes

Il vous suffit de supprimer la ligne "Retour 0" de votre code car le compilateur n'atteindra jamais à cette ligne. Et il vous donne un avertissement car les IDE / Compilers sont capables de signaler ce genre d'erreurs Par exemple, il vous donnera également un avertissement dans l'exemple ci-dessous xxx

donc en bref, vous pouvez simplement modifier votre code à xxx


0 commentaires

0
votes

Parce qu'il y a un retour dans la branche si , il n'y a pas besoin de mot-clé el / code>. Le code sera exécuté correctement de toute façon.

En tant que refactoring, il est généralement appelé: retirez le redondant d'autre.

afin qu'il puisse être réécrit comme suit: xxx

comme on peut le voir au dernier commentaire, la ligne ci-dessus renvoie 276, donc retour 0 n'est jamais appelé.


0 commentaires