Règle Sonar Lint "Les méthodes ne doivent pas être trop complexes" (squid: MethodCyclomaticComplexity) a un exemple d'utilisation de plusieurs instructions return dans le bloc de programme. (voir https://groups.google.com/forum/#!topic/sonarqube/BtvGoF6Tw7E pour les règles de calcul de complexité cyclormatique)Est-ce une mauvaise pratique d'avoir plusieurs retours?
Les retours raccourcissent les codes dans une branche et se traduisent par des blocs de code plus petits. Par exemple,
int findBranchNumber(String input) { if ("branch1".equals(input)) { return 1; } if ("branch2".equals(input)) { return 2; } // .... return -1; }
L'alternative utilisera une variable de méthode (dans ce cas) ou des blocs plus grands. Celui qui lit le code doit lire toute la méthode avant de réaliser que les trois premières lignes sont pertinentes pour la "branche1".
S'il vous plaît conseiller ...
Combien d'instructions 'if' avez-vous? On pourrait soutenir que l'utilisation d'un 'Map' serait une amélioration ici. –
Vous avez raison. Une carte de recherche est une meilleure approche pour le travail de traduction comme celui-ci. – user2995767