Ist es besser, keine Listenvariablen "liste" zu nennen? Da es im Konflikt mit dem reservierten Python-Schlüsselwort steht. Was ist dann die bessere Benennung? "input_list" hört sich irgendwie peinlich an.
Ich weiß, dass es problemspezifisch sein kann, aber, sagen wir, habe ich eine schnelle Sortierfunktion, dann ist quick_sort (unsortierte_liste) immer noch etwas lang, da die an die Sortierfunktion übergebene Liste vom Kontext eindeutig unsortiert ist.
Irgendeine Idee?
Ich nenne es gerne mit dem Plural von allem, was darin ist. Also, zum Beispiel, wenn ich eine Liste von Namen habe, nenne ich es names
, und dann kann ich schreiben:
was ich denke, sieht ziemlich gut aus. Aber im Allgemeinen sollten Sie für Ihre eigene Gesundheit Ihre Variablen benennen, damit Sie wissen, was sie gerade von dem Namen sind. Diese Konvention hat den zusätzlichen Vorteil, dass sie typenunabhängig ist, genau wie Python selbst, denn names
kann jedes iterierbare Objekt sein, wie ein Tupel, ein Dict oder Ihr eigenes benutzerdefiniertes (iterierbares) Objekt. Sie können for name in names
für jeden von diesen verwenden, und wenn Sie ein Tupel namens names_list
hätten, wäre das nur komisch.
(Hinzugefügt von einem Kommentar unten :) Es gibt ein paar Situationen, in denen Sie dies nicht tun müssen. Die Verwendung einer kanonischen Variable wie i
zum Indizieren einer kurzen Schleife ist OK, weil i
normalerweise auf diese Weise verwendet wird. Wenn Ihre Variable auf mehr als einer Seite Code verwendet wird, so dass Sie nicht ihre gesamte Lebensdauer auf einmal sehen können, sollten Sie einen sinnvollen Namen geben.
Variablennamen sollten angeben, was sie nicht genau sind, welcher Typ sie sind.
Python steht für Lesbarkeit. Im Grunde sollten Sie Variablen benennen, die die Lesbarkeit fördern. Siehe PEP20 .
Sie sollten nur eine allgemeine Regel der Konsistenz haben und diese Konsistenz in der folgende Situationen:
Wenn Sie die Regel anwenden, wird der Code weniger lesbar, sogar für jemand, der daran gewöhnt ist, Code zu lesen, der den Regeln folgt.
Um mit dem umgebenden Code konsistent zu sein, der es auch bricht (vielleicht für historische Gründe) - obwohl dies auch eine Gelegenheit ist, aufzuräumen jemand anderes Chaos (im echten XP-Stil)
Verwenden Sie auch die Benennungsregeln der Funktion: Kleinbuchstaben mit durch Unterstriche getrennten Wörtern, um die Lesbarkeit zu verbessern.
All dies stammt aus PEP 8
Warum nicht einfach unsorted
verwenden? Ich bevorzuge Namen, die Ideen und keine Datentypen kommunizieren. Es gibt spezielle Fälle, in denen der Typ einer Variablen wichtig ist. Aber in den meisten Fällen ist es aus dem Kontext offensichtlich - wie in Ihrem Fall. Schnellsortierung arbeitet offensichtlich an einer Liste.
Ich verwende eine Namenskonvention basierend auf beschreibendem Namen und Typ. (Ich glaube, ich habe das von einem Jeff Atwood Blogpost erfahren, aber ich kann es nicht finden.)
%Vor%usw.
Etwas komplizierter (list_list_hash_list) Ich mache eine Klasse.
Tags und Links python naming-conventions