72 votes

L'instruction "if" doit-elle toujours comporter une clause "else" ?

Il s'agit peut-être d'un argument religieux, mais il a été débattu ad-nauseum ici à mon travail pour savoir si toutes les instructions IF devraient inclure une clause ELSE - même si la clause ELSE contient seulement un commentaire indiquant qu'elle a été "intentionnellement laissée vide".

J'ai entendu des arguments pour les deux côtés : Le camp des "Pour" - s'assure que les codes ont effectivement examiné si la condition nécessite une clause ELSE. Le camp "contre" - le code est plus difficile à lire et ajoute trop de bruit.

Je suis intéressé par tout autre point de vue car je dois résoudre ce débat par une réponse qui satisferait les deux parties.

Merci pour votre aide.

BTW : J'ai cherché une réponse à cette question sur StackOverflow et je n'en ai pas trouvé. S'il y en a une, incluez simplement un lien vers elle et fermez. Merci.

145voto

jldupont Points 31331

Cela me semble être une saisie inutile... et une cause possible de confusion. Si vous n'en avez pas besoin, ne le mettez pas !

49voto

Robert Harvey Points 103562

Non. Si vous n'avez pas besoin d'exécuter de code sur le else vous n'avez pas besoin d'un else clause.

34voto

dredful Points 3474

Il est clair, d'après les réponses données ici, que personne ne pense qu'une autre inutilisée est nécessaire. Je n'ai jamais entendu ni lu une telle chose. Le problème le plus important auquel vous êtes confronté est de traiter avec des collègues/développeurs qui, d'une manière ou d'une autre, croient fermement que c'est ainsi que If Then doit être utilisé.

Il semble que vous ne soyez pas la personne la plus âgée dans ce scénario et que vous ne puissiez pas simplement décréter qu'il en soit ainsi. Je suggère de demander aux parties "vides de sens" de montrer où un tel processus est suggéré dans un livre (les blogs ne comptent pas) sur le développement. Mieux encore, dans 3 livres sur le développement. J'ai lu ma part de livres de programmation à travers les langages de programmation depuis 1982 et je n'ai jamais vu une telle suggestion.

De cette façon, vous ne leur dites pas qu'ils ont tort, ce qu'ils pourraient prendre personnellement. Au contraire, vous êtes prêt à accepter cette position, mais vous aimeriez voir des documents. C'est à eux qu'il incombe de trouver la preuve. Soit ils la trouvent, soit ils se contentent d'affirmer que tous les livres de programmation jamais écrits sont faux et qu'ils sont les seuls à avoir raison.

Bonne chance.

17voto

Tim Points 4953

La règle d'or : mettez-le si cela rend votre code plus clair et plus facile à comprendre, et laissez-le sinon. Un programmeur expérimenté sera en mesure de faire ces jugements au cas par cas.

11voto

Fredrik Mörk Points 85694

Comme vous le dites, c'est peut-être une question de style, mais il ne me viendrait pas à l'idée de mettre des blocs else vides dans mon code juste parce que "chaque bloc if devrait en avoir un". A mon avis, cela n'ajoute rien d'autre que quelques caractères supplémentaires dans le code et un point de plus (de muy peu de valeur) pour y consacrer du temps lors des revues de code.

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