web-dev-qa-db-fra.com

Refonte massive - comment ajouter le mot-clé final à Java

Cela peut être une question simple: comment puis-je refactoriser massivement mon code Java pour que la plupart des arguments de la méthode soient "finaux"? Il s'agit de suivre l'une de nos règles de "style de contrôle". Nous avons des milliers de fichiers Java, donc éditer manuellement tous ne semble pas une solution acceptable pour nous.

Je n'ai pas trouvé une telle option de refactorisation dans IntelliJ. Quelqu'un connaît un outil qui peut vous aider? Ou une approche intelligente pour y parvenir?

23
John Zhang

Vous pouvez utiliser le mécanisme d'inspection d'IntelliJ pour cela:

  1. Accédez à Analyser-> Exécuter l'inspection par nom
  2. Recherche de l'avertissement "La variable ou le paramètre local peut être définitif"
  3. Assurez-vous que "Paramètres de la méthode de rapport" est la seule option cochée.
  4. Sélectionnez la racine de l'arborescence (elle doit indiquer la variable locale ou le paramètre peut être final "
  5. Cliquez sur ALT+ENTER et sélectionnez "rendre définitif". Cela devrait ajouter le modificateur final à tous les endroits manquants.

Une fois que vous avez fait cela, vous voudrez peut-être activer cette inspection dans votre IDE afin qu'il vous avertisse de faire d'autres erreurs:

  1. Accédez à Fichier-> Paramètres-> Éditeur-> Inspections
  2. Recherche de l'avertissement "La variable ou le paramètre local peut être définitif"
  3. Assurez-vous que "Paramètres de la méthode de rapport" est la seule option cochée.
46
Mureinik

Dans IntelliJ, vous pouvez cocher les options "Rendre les variables locales générées finales" et "Rendre les paramètres générés finaux" activées.

Dans IntelliJ 2017.3, il se trouve dans Préférences -> Éditeur -> Style de code -> Java -> onglet Génération de code.

enter image description here

8
Christian Vielma

Avertissement: je ne veux pas lancer une guerre IDE et je n'utilise pas intelliJ, donc il pourrait y avoir un moyen de le faire là-bas. Mais puisque vous avez demandé un outil pour le faire et l'effort manuel pourrait justifier l'utilisation d'un autre IDE pour cela, c'est parti dans Eclipse.

Dans Eclipse, vous pouvez configurer la tâche de "nettoyage" pour ajouter la finale dans la mesure du possible. La tâche de nettoyage peut être exécutée sur des fenêtres d'éditeur unique et également sur l'ensemble du projet à partir du menu contextuel "source".

4
skomp