2016-07-25 17 views
0

Ich habe gelehrt, dass während camelCase und under_scores sind akzeptable Variablennamen ich in meinem Ansatz konsistent sein muss.Kann die Verwendung mehrerer Namenskonventionen konsistent sein?

Wie konsistent ist jedoch konsistent? Ist es akzeptabel und Pythonic beides unter bestimmten Umständen zu benutzen?

z. könnte ich camelCase für Variablen in meinem Hauptcode und under_scores für diejenigen in meinen Funktionen verwenden? oder vielleicht eine für Variablen, die Antworten aus meinen eigenen Funktionen und eine für andere Funktionen abgeleitet haben?

Beide können in einer Weise getan werden, die es für diejenigen leichter macht, sie zu verstehen und grundlegenden systematischen Regeln zu folgen, macht das allein es okay, beide zu verwenden oder soll ich mit nur einer Namenskonvention folgen?

Beispiel under_scores der Verwendung von für Variablen, deren Antwort von einem Benutzer definierte Funktion abgeleitet und camelcase für andere variales.

# My function. 
def reverse(variableCalledA): 
    variableNamedB = reverseVariableA(variableCalledA) # {= 235}. 
    return variableNamedB 

# Main code. 
variableCalledA = 532 
**reversed_variable_called_b** = reverse(variableCalledA) 
answer = variableCalledA - **reversed_variable_called_b** 
print(answer) 

P.S. Wenn dies angebracht ist, sollte ich etwas in einem Kommentar erwähnen, damit andere Nutzer darauf achten können?

P. S. S. Bitte informieren Sie mich über Möglichkeiten, wie ich meine Frage und zukünftige Fragen aktualisieren/verbessern kann.

+0

Für jede Codierung sollten Sie mit dem Rest des Codes im Modul/Projekt konsistent sein. Für neue Module/Projekte in Python sollten Sie [PEP8] (https://www.python.org/dev/peps/pep-0008/) folgen, das 'camelCase' niemals unterstützt und 'CapWords' für Klassen'UPPER_CASE' empfiehlt 'für Konstanten und' names_with_underscores' für alles andere. – mgilson

+0

Total Meinung basiert so off Topic. Obwohl jeder zustimmen sollte, dass Sie so konsequent wie möglich sein sollten, und es ist normalerweise kein wirkliches Hindernis, vollständig mit PEP8 übereinzustimmen. – Julien

Antwort

0

Namenskonventionen sollen die Code-Klarheit erhöhen und es vielen Entwicklern erleichtern, auf der gleichen Codebasis zu arbeiten.

Als solche hängt die Antwort auf Ihre Frage wirklich von der Situation ab. Wenn Sie in einer professionellen Umgebung arbeiten, sollten Sie sich an die von Ihnen verwendete Namenskonvention halten. Wenn es keine bestehende Namenskonvention gibt, sollten Sie nach einer solchen Konvention suchen. Im Allgemeinen sollte jedes neue Python-Projekt die PEP8 style guide einhalten, es sei denn, es gibt einen guten Grund, dies nicht zu tun (zum Beispiel: Jahre altem Code, der einen anderen Styleguide verwendet).

Egal, ob Sie an einem neuen Projekt oder Legacy-Code arbeiten, meine persönliche Meinung ist, dass das Mischen von camelCase und under_scores einfach keine gute Idee ist. Das von Ihnen bereitgestellte Beispiel klingt vernünftig, aber es ist keine Konvention, über die andere Entwickler Bescheid wissen würden, wenn sie nicht in Kommentaren erläutert wird.

0

Für eine konsistente sind Sie under_scores statt camelcase als ehemaliger verwenden können, ist besser lesbar als die letzteren. Sie können einen der Posts auf der Namenskonvention here sehen.

Ist es akzeptabel und Pythonic beide unter bestimmten Umständen zu verwenden?

Ja es ist akzeptabel und Pythonic zu verwenden beide aber nur unter bestimmten Umständen. Sie können überprüfen PEP-8 GUID für Entwickler.

Für Funktionsnamen sollten

Funktionsnamen klein geschrieben werden, mit von Unterstrichen getrennt Wörter wie nötig die Lesbarkeit zu verbessern.

Bestimmte Umstände umfassen Rückwärtskompatibilität

mixedcase nur in Kontexte erlaubt ist, wo das ist bereits die vorherrschende Art (z.B. threading.py), behalten die Abwärtskompatibilität.

Für Klassennamen

Klassennamen normalerweise sollte die CapWords Konvention verwenden.

Die Namenskonvention für Funktionen kann stattdessen in Fällen verwendet werden, in denen die Schnittstelle dokumentiert und hauptsächlich als aufrufbar verwendet wird.

Abschließend, wenn Sie auf einige Bibliothek bauen, ist es besser, mit der Bibliothek Stil zu gehen. Für Python Conventions PEP-8 gibt es Devices zu führen.

0

Ist der Code für sich selbst oder ein Projekt, an dem Sie arbeiten, mit anderen? Ich denke, es ist am besten, den Stilstandards des Teams zu folgen. Auf diese Weise kann Ihr Team Ihren Code verfolgen.

Wenn Sie für sich selbst schreiben. Verwenden Sie das System, das für Sie sinnvoll ist, so dass Sie sich nicht zu wehren brauchen, wenn Sie den Code in einem Jahr lesen.

PEP8 macht Sinn. CapWords für Klassen, UPPER_CASE für Konstanten und names_with_underscores für alles andere.

Ich übermäßige Kommentare in meinen Code. Auch bei vollständig ausgeschriebenen Variablen helfen Kommentare noch.

Für Leute wie mich mit CRS (Can not Remember Shit) lange Variablennamen helfen mir, mich daran zu erinnern, was die Variable enthält, wenn ich zurück gehe und den Code anschaue.