54 votes

if-> return vs if-> else efficacité

Cela peut sembler une question idiote, et j'ai hésité à la poster, mais quand même : si quelque chose ne doit s'exécuter que dans certaines conditions, laquelle est la plus efficace :

UNE.

 if (condition) {
   // do
   // things...
}

B.

 if (!condition) { return; }
// do
// things...

51voto

Ils sont tout aussi efficaces, mais B est généralement considéré comme offrant une meilleure lisibilité, en particulier lorsqu'il est utilisé pour éliminer plusieurs conditions imbriquées.

21voto

Steven Points 56939

Veuillez choisir ce qui est le plus lisible. Les optimisations de performances à ce niveau ne sont presque jamais un problème. Même les parties des frameworks vraiment sensibles aux performances (telles que le framework .NET) ne bénéficient pas d'une telle micro-optimisation.

14voto

PeeHaa Points 31941

La vraie question est, faut-il vraiment s'en soucier ?

Je dis NON! Il est plus important d'avoir un code mieux lisible que de faire une micro-optimisation.

4voto

Tim S. Points 30377

Bien que je convienne que vous devriez d'abord choisir la lisibilité, je vais continuer et ajouter une petite information : en C#, il n'y a pas de différence. Il compile vers la même chose (lorsqu'il est optimisé en créant le mode Release). Autres langues? Qui sait, je suis sûr que certains d'entre eux le considèrent différent, mais les chances que vous ayez réellement besoin de vous en préoccuper sont minces, voire nulles.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X