Warum wird pylint nur für einzelne Zeichen verwendet?
Ich bin noch immer verwendet, um python-Konventionen und mit pylint
meinen code mehr pythonic, aber ich bin verwirrt durch die Tatsache, dass pylint mag es nicht, einzelne Zeichen Variablennamen. Ich habe ein paar loops wie diese:
for x in x_values:
my_list.append(x)
und wenn ich laufen pylint
ich bin immer Invalid name "x" for type variable (should match [a-z_][a-z0-9_]{2,30}
-- das deutet darauf hin, dass ein Gültiger Variablen-name muss zwischen 3 und 31 Zeichen lang sein, aber ich habe mir durch die PEP8 Namenskonventionen und ich sehe nicht, etwas expliziter Bezug auf einzelne Kleinbuchstaben, und ich sehe eine Menge Beispiele, die Sie verwenden.
Gibt es etwas, was ich bin fehlt in PEP8, oder ist dies ein standard, der einzigartig ist pylint?
InformationsquelleAutor der Frage Amanda | 2014-02-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
PyLint prüft nicht nur PEP8 Empfehlungen. Es hat auch seine eigenen Empfehlungen, eine davon ist, dass eine variable name sollte beschreibend sein und nicht zu kurz.
Diese können Sie verwenden, um zu vermeiden, solche kurzen Namen:
Oder verwenden Sie
_
als Platzhalter für temporäre Variablen (die regex passieren)InformationsquelleAutor der Antwort warvariuc
Ein wenig mehr detail auf, was alex gurney erwähnt: man kann sagen, PyLint, Ausnahmen zu machen für Variablennamen die (Sie pinky swear) sind vollkommen klar, auch wenn weniger als drei Zeichen. Finden Sie in, oder fügen Sie Ihre pylintrc Datei, unter der
[FORMAT]
header:Hier pk (für primary key), x und y sind Variablen-Namen, die ich Hinzugefügt habe.
InformationsquelleAutor der Antwort mlncn
In stark typisierten Sprachen, 1 Brief Namen Variablen können mit der ok-ish, weil Sie in der Regel den Typ neben dem Namen in der Deklaration der Variablen oder in der Funktion /Methode Prototyp:
In Python, Sie nicht bekommen, diese Informationen, so dass, wenn Sie schreiben:
verlassen Sie absolut keine Ahnung für das Wartungs-team, was die Funktion tun könnte, und wie es heißt, und was es gibt. So in Python, neigen Sie dazu, verwenden Sie beschreibende Namen:
und Sie sogar noch ein docstring zu erklären, was der Kram funktioniert-und welche Datentypen erwartet werden.
InformationsquelleAutor der Antwort gurney alex
Der tiefere Grund ist, dass Sie merken, was Sie soll
a
b
c
x
y
undz
zu bedeuten, wenn Sie schrieb deinen code, aber wenn andere es Lesen, oder auch, wenn Sie wieder kommen, um Ihren code, der code wird deutlich lesbarer, wenn Sie ihm eine semantische Namen. Wir sind nicht schriftlich Zeug einmal auf eine Tafel und dann löschen. Wir schreiben code, der möglicherweise bleiben, um für ein Jahrzehnt oder mehr, und Lesen viele, viele Male.Semantische Namen. Semantische Namen, die ich verwendet habe, wurden wie
ratio
denominator
obj_generator
path
usw. Es kann eine zusätzliche Sekunde oder zwei zu geben, Sie aus, aber die Zeit, die Sie zu speichern versuchen, herauszufinden, was Sie schrieb noch eine halbe Stunde aus, dann ist es Wert.InformationsquelleAutor der Antwort Aaron Hall
Heutzutage gibt es auch eine option zum überschreiben regexp. I. e. wenn Sie möchten, dass einzelne Buchstaben als Variablen:
So,
pylint
entsprechen PEP8, und nicht zusätzliche Verletzungen an der Spitze. Auch Sie können es hinzufügen, um.pylintrc
.InformationsquelleAutor der Antwort Jimilian