2012-03-13 2 views
0

La question de l'utilisation ou non du mot-clé Java final a été discutée plusieurs fois sur SO. J'essaie de rassembler quelques projets Java open source bien connus qui l'utilisent. Je n'en ai pas trouvé jusqu'ici. Pouvez-vous m'en en dire?Projets Java open source qui utilisent des modificateurs `final` partout

Questions sur l'utilisation ou non à l'aide final:

Why would one mark local variables and method parameters as "final" in Java?

Using "final" modifier whenever applicable in java

Why are local variables not declared final in most open source java projects?

+0

Pour clarifier ce que je voulais dire par " partout "voir le lien de la première question. – jabal

+1

Dans ce cas, il semblerait que les moteurs de recherche, y compris Google Web Search, Koders, Krugle et JExamples, soient "pessimisés" (c'est-à-dire optimisés pour d'autres cas, ce qui donne des résultats imprécis). – minopret

+0

Cette question n'est pas une solution à notre format de questions-réponses. Nous espérons que les réponses impliquent généralement des faits, des références ou une expertise spécifique; cette question sollicitera probablement des opinions, des débats, des arguments, des sondages ou des discussions prolongées. – oers

Répondre

2

Voici quelques projets qui utilisent des paramètres finaux et locaux. Ils ne sont pas sélectionnés pour la proéminence ou l'activité. Je ne suis pas sûr de savoir comment je ferais ça.

Je les ai réunis de Google: allintext: "finale" site d'importation: sourceforge.net

  • wnpojo.sf.net enveloppements entités WordNet dans les classes Java
  • spnego.sf.net intègre l'authentification Windows dans Java
  • waterken.sf.net fournit appel asynchrone via HTTP
  • jeuclid.sf.net rend MathML
  • statcvs.sf.net décrit les projets CVS sous forme de tableaux et graphiques

Voici quelques projets très importants qui ne pas (au moins, pas dans les fichiers que j'inspectée) utilisent des paramètres finaux et les locaux dans leur code Java.

  • GNU: GNU Classpath
  • Samba: JCIFS
  • MySQL: Connecteur/J
  • ANTLR
  • Amazon Web Services (AWS) Toolkit for Eclipse
  • Apache Tomcat
  • Bouncy Castle
  • Eclipse: Java Developer Toolkit (JDT), interface utilisateur de base
  • Google Web Toolkit (GWT): WebKit mobile
  • International Components for Unicode pour Java (de ICU4J)
  • JUnit
  • OpenJDK
  • Spring: Spring Framework
+0

Je vous vois enfin fait cette requête Google :-) – jabal

0

contrôle Guava bibliothèques - sample

+0

bien, j'ai vérifié le code, mais il me semble qu'ils ne l'utilisent pas vraiment strictement. http://code.google.com/p/guava-libraries/source/browse/guava/src/com/google/common/math/MathPreconditions.java – jabal

+0

Dans votre lien, je n'ai vu aucun état pouvant être marqué Enfin, si vous faites référence à des paramètres de méthode, eh bien je suppose qu'il n'y en a pas besoin :) – Premraj

+0

En mettant dans chaque signature de méthode si possible par exemple. Le lien échantillon que vous avez envoyé montre quelques méthodes qui l'utilisent de cette façon, mais ne m'a pas convaincu que Guava est un bon exemple. – jabal

2

Je sais opengamma som etimes utilise des paramètres/variables finaux, bien que cela ne semble pas être une règle stricte. Je dirais qu'ils utilisent probablement final moins de 5% du temps. Voir par exemple ce sample, lines 192-193, 215.

+1

L'ancien OpenGamma les directives de codage exigeaient 'final' sur toutes les variables et paramètres locaux, mais n'étaient pas toujours suivies. Les nouvelles directives de codage OpenGamma pour Java 8 déconseillent d'utiliser 'final' (en raison du concept final efficace dans Java8). Voir Strata - https://github.com/OpenGamma/Strata – JodaStephen

Questions connexes