Python-Konvention für Variablennamen zur Angabe von Einheiten

8

Erstens, wenn ich nach Einheiten frage, meine ich Maßeinheiten wie Zoll, Fuß, Pixel, Zellen. Ich verweise nicht auf Datentypen wie int und float.

Wikipedia bezieht sich darauf als logischer Datentyp und nicht als physischer Datentyp .

Ich würde gerne wissen, wie man Variablen am besten benennt.

Hier ist ein Code, um durch das zu gehen, was ich frage:

%Vor%

Beachten Sie, dass dies beides ganze Zahlen sind (oder schwimmt, ist mir egal), aber ich habe die Einheiten geändert. Ich habe auch den Variablennamen beibehalten. Ich könnte eine Konvention aufstellen, und das ist der Zweck dieser Frage. Ohne Anleitung könnte ich so etwas machen:

%Vor%

Ich würde dies als einen ad-hoc-Weg betrachten, Dinge zu tun. Oder ich könnte eine Konvention aufstellen:

%Vor%

Oder andere Varianten, die ich ebenfalls nicht mag. Wie könnte ich Variablen in einer beschreibenden Weise benennen, aber so nah wie möglich an PEP-08 bleiben?

Um nur so klar wie möglich zu sein, können die Variablen unterschiedliche Datentypen haben, aber die Einheiten wären gleich (Zoll würde die gleiche Bezeichnung haben, unabhängig davon, ob es als Integer oder Integer oder Float gespeichert wurde)

    
Robert Lugg 11.02.2014, 17:26
quelle

3 Antworten

1

Ich würde weiter gehen und separate Objekttypen verwenden, die Typsicherheit bieten, anstatt sich einfach auf Namenskonventionen zu verlassen. Andernfalls könnten Sie eine Variable, die Zoll repräsentiert, an eine Methode übergeben, die Meilen erfordert.

Ich denke, dass die Einhaltung von Namenskonventionen problematisch sein wird, um langfristig zu erhalten und die Verwendung von Typen gibt Ihnen viel mehr Flexibilität und Sicherheit (z. B. Bereitstellung von Konvertierungen etc. in den Objekttypen).

    
Brian Agnew 11.02.2014, 17:30
quelle
9

Während Sie sich eine Namenskonvention einfallen lassen könnten, wäre es vielleicht besser, ein Objekt zu erstellen, das "Abstand" mit Eigenschaften zum Lesen / Schreiben in verschiedenen Einheiten darstellt. Zum Beispiel:

%Vor%

Sie könnten es sogar generischer gestalten, sodass Sie es leicht mit neuen Conversions erweitern können. (Hinweis: Bearbeitet das Memo basierend auf Kommentaren)

%Vor%     
Silas Ray 11.02.2014 17:34
quelle
2

Wenn Sie eine robustere Einheitenunterstützung wünschen, sollten Sie PyPi's Pint-Modul ausprobieren. Es befasst sich nicht direkt mit Ihrer Frage der Namenskonvention, aber es kann einen großen Teil der Arbeit mit häufigen Konvertierungen kosten. Sie können Informationen darüber und einige andere Moduleinheiten hier finden:

Ссылка

    
BringMyCakeBack 11.02.2014 17:33
quelle

Tags und Links