Wenn Sie einen Klassenmember haben, der static
und public
ist. Würden Sie static public
oder public static
schreiben? Ich weiß, dass sie gleich sind. Aber gibt es eine Empfehlung/Best Practice für das Schreiben?Welche wird empfohlen: "statisch public" oder "public static"
Antwort
siehe this question
Wenn Sie das Microsoft StyleCop Visual Studio Addin herunterladen, können sie den Quellcode gegen die Regeln validieren Microsoft verwenden. Es mag den Zugriffsmodifizierer, der zuerst kommt.
Ich persönlich würde mit öffentlichen statischen gehen, weil es wichtiger ist, dass es öffentlich ist, als dass es statisch ist.
Und dies überprüfen: http://checkstyle.sourceforge.net/config_modifier.html
Neben dieser: http://java.sun.com/docs/books/jls/second_edition/html/classes.doc.html (Diese beiden Verbindungen sind für Java, aber das Konzept ist das gleiche)
Kurzversion: „public static“ empfohlen und weit ist häufiger.
-1 Ich stimme nicht zu die Tatsache einer Methode ist "öffentlich" ist wichtiger als es "statisch" ist. Ich glaube genau das Gegenteil. –
@Carlos Ich glaube, dass die Frage über Klassenmitgliedsvariablen statt Methoden war. Und obwohl offensichtlich beide Schlüsselwörter sehr wichtig sind (und daher eine Debatte wenig Sinn macht), ist die Sichtbarkeit nach herkömmlicher Konvention das erste Schlüsselwort, das verwendet wird, da es bestimmt, ob ein Mitglied überhaupt von anderen Klassen erreichbar ist. Erst wenn wir wissen, dass ein Mitglied sichtbar/erreichbar ist, ist es offensichtlich wichtig, wie man es erreicht (wo "statisch" wichtig wird). – Epaga
Ich glaube, dass Statik mehr "Auswirkungen" in einem Mitglied als seine eigene Sichtbarkeit hat. Es verändert es vollständig, während Sichtbarkeit mehr oder weniger eine Konvention ist, um auf das Mitglied zuzugreifen, und es kann durch Reflexion überwunden werden. Die Tatsache, dass etwas statisch ist, hat viel mehr Auswirkungen. Das heißt, ich benutze leider "öffentliche statische" wegen seiner überwältigenden Popularität ... – Loudenvier
"public static" ist weit verbreiteter, also möchten Sie vielleicht damit fortfahren, nur um die Lesbarkeit für Programmierer zu erhöhen, die nie über "statische Öffentlichkeit" gestolpert sind.
Wenn nichts anderes zählt, konsistent gehen. In diesem Fall verwendet der Rest der Welt public static
, also würde ich auch damit gehen, um unnötige Überraschungen bei den Lesern Ihres Codes zu vermeiden.
- 1. public static class oder const
- 2. Java public static main()
- 3. Dynamisch generiere public static
- 4. Rails 4 Static Public index.html
- 5. ein public static final Array Modifizieren
- 6. GetStaticMethodId Methodensignatur für public static MyClass myMethod()
- 7. Wie public static Klassenfelder in PHP4 erklären
- 8. Pythons Äquivalent von "public static void main"
- 9. public static Variable oder verwenden putExtra Methode Absichts Klasse
- 10. public onCreate() oder protected onCreate()?
- 11. C++ Singelton Klasse Vs Namespaces Vs Public Static Variablen
- 12. Was ist die C# Äquivalent public static final in Java
- 13. public static (const) in einer generischen .NET-Klasse
- 14. DDS - Welche wird empfohlen - OpenSplice oder CoreDX?
- 15. Private zugänglich vs Public
- 16. public class imagehandler: IHttpHandler
- 17. Singleton, public oder globale Variablen verwenden
- 18. C# 2015 Public Class
- 19. Facebook Public Feed API
- 20. springmvc controller public oder default protected
- 21. Apples Core Telephony Public oder Private
- 22. VBA Public Array: wie?
- 23. private public in Typescript
- 24. Public Domain hochauflösende Vektordaten
- 25. Nicht Public Library SockPuppetGizmo
- 26. sharepoint public form
- 27. F # - public literal
- 28. NativeScript Public/Globale Funktionen
- 29. Inkonsistente Zugänglichkeit obwohl Klasse public
- 30. AWS single public IP & websockets
Das neue Zuhause für StyleCop oben genannten scheint [hier] sein (https://stylecop.codeplex.com) – wojtow
Die Roslyn-basierte [StyleCopAnalyzers ] (https://github.com/DotNetAnalyzers/StyleCopAnalyzers) Dieses Projekt wird für Entwickler empfohlen, die nur Visual Studio 2015 oder höher verwenden. –