Si tiene un miembro de clase que es static
y public
. ¿Escribirías static public
o public static
? Sé que son lo mismo. ¿Pero hay alguna recomendación/mejor práctica para escribir esto?Que se recomienda: "static public" o "public static"
Respuesta
ver this question
Si descarga el Microsoft Visual Studio StyleCop complemento, puede validar su código fuente en contra de las reglas de uso de Microsoft. Le gusta el modificador de acceso para estar primero.
Yo personalmente iría con public static porque es más importante que sea público que que sea estático.
Y mira esto: http://checkstyle.sourceforge.net/config_modifier.html
Así como esto: http://java.sun.com/docs/books/jls/second_edition/html/classes.doc.html (Estos dos enlaces son para Java, pero el concepto es el mismo)
versión corta: "public static" es recomendable y es mucho más común.
-1 No estoy de acuerdo que el hecho de que un método sea "público" sea más importante que "estático". Yo creo exactamente lo opuesto. –
@Carlos Creo que la pregunta era sobre las variables de los miembros de la clase en lugar de los métodos. Y aunque obviamente ambas palabras clave son muy importantes (por lo que un debate tiene poco sentido), la visibilidad es, por convención habitual, la primera palabra clave que se debe usar, ya que determina si un miembro es accesible para otras clases. Solo cuando sabemos que un miembro es visible/accesible es obviamente importante CÓMO llegar a él (donde "estático" se vuelve importante). – Epaga
Creo que la estática tiene más "impacto" en un miembro que su propia visibilidad. Lo "significa" por completo, mientras que la visibilidad es, más o menos, una convención para acceder al miembro y se puede superar con la reflexión. El hecho de que algo sea estático tiene mucho más impacto. Dicho esto, lamentablemente uso "público estático" debido a su popularidad abrumadora ... – Loudenvier
"público estático" es mucho más común, por lo que es posible que desee ir con eso solo para aumentar la legibilidad para los programadores que nunca tropezaron con "público estático".
Cuando nada más importa, vaya con consistencia. En este caso, el resto del mundo usa public static
, así que también lo haría con el fin de evitar sorpresas innecesarias en aquellos que leen tu código.
- 1. public static vs static public - ¿hay alguna diferencia?
- 2. Declarar cadenas public static readonly versus public const versus public static const
- 3. 'public static final' o 'private static final' con getter?
- 4. Java - public static void main()
- 5. Equivalente de campos public static final en Scala
- 6. En java, ¿se puede renombrar o refactorizar "public static void main"?
- 7. Diferencia entre static final y static final
- 8. ¿Hay un equivalente de PHP para `public static main (String [] args)` en Java?
- 9. Acceso cadena public static final en mybatis SQL en archivos asignador
- 10. Explicación de 'args String []' y estáticas en 'principales (args String []) public static void'
- 11. no puede declarar static final String Public s = new String ("123") dentro de una clase interna
- 12. Cómo inicializar un public static final de sólo lectura LinkedMap (mapa Bidireccional)
- 13. de Python "public void"
- 14. Public const string?
- 15. public onCreate(), o protected onCreate()?
- 16. PHP Static Class o Namespace
- 17. protected/public Clases internas
- 18. static vs extern "C"/"C++"
- 19. C++ Static Propiedad
- 20. Public Hotel API
- 21. Java Pregunta sobre Static
- 22. Public SOAP Web Services
- 23. JQuery - Widget Public Methods
- 24. PHP5: const vs static
- 25. static :: staticFunctionName()
- 26. Public CDN para CKEditor
- 27. Mocking Static Methods
- 28. static NSMutableDictionary
- 29. Obtener valor de campo/propiedad public static final de una clase en Java a través de la reflexión
- 30. Type.GetFields() - solo campos "const public" que devuelven
El nuevo hogar para StyleCop al que se hace referencia más arriba parece ser [aquí] (https://stylecop.codeplex.com) – wojtow
Basado en Roslyn [StyleCopAnalyzers ] (https://github.com/DotNetAnalyzers/StyleCopAnalyzers) proyecto se recomienda para los desarrolladores que utilizan solo Visual Studio 2015 o posterior. –