Ich möchte ein gutes Benennungsschema für physikalische/mathematische Größen in meinem Simulationscode erstellen. Betrachten Sie das folgende Beispiel:Benennung von physikalischen Größen in Python
from math import *
class GaussianBeamIntensity(object):
"""
Optical intensity profile of a Gaussian laser beam.
"""
def __init__(self, intensity_at_waist_center, waist_radius, wavelength):
"""
Arguments:
*intensity_at_waist_center*: The optical intensity of the beam at the
center of its waist in W/m^2 units.
*waist_radius*: The radius of the beam waist in meters.
*wavelength*: The wavelength of the laser beam in meters.
"""
self.intensity_at_waist_center = intensity_at_waist_center
self.waist_radius = waist_radius
self.wavelength = wavelength
self._calculate_auxiliary_quantities()
def _calculate_auxiliary_quantities(self):
# Shorthand notation
w_0, lambda_ = self.waist_radius, self.wavelength
self.rayleigh_range = pi * w_0**2/lambda_
# Generally some more quantities could follow
def __call__(self, rho, z):
"""
Arguments:
*rho*, *z*: Cylindrical coordinates of a spatial point.
"""
# Shorthand notation
I_0, w_0 = self.intensity_at_waist_center, self.waist_radius
z_R = self.rayleigh_range
w_z = w_0 * sqrt(1.0 + (z/z_R)**2)
I = I_0 * (w_0/w_z)**2 * exp(-2.0 * rho**2/w_z**2)
return I
Was konsistente Benennungsschema würden Sie für die physikalischen Eigenschaften vorzuschlagen (Eigenschaften, Funktionsargumente etc.), um zwischen Lesbarkeit und prägnant Notation zu balancieren (dh Formeln bleiben relativ kurz) Könnten Sie bitte das obige Beispiel verfeinern? Oder vielleicht ein besseres Schema vorschlagen?
Es wäre nett, den Richtlinien von PEP8 zu folgen und sich daran zu erinnern, dass "eine törichte Konsistenz der Hobgoblin der kleinen Geister" ist. Es scheint schwierig zu sein, bei beschreibenden Namen zu bleiben, während die traditionelle Grenze von 80 Zeichen für Zeilenlängen eingehalten wird.
Vielen Dank im Voraus!
Welchen Wert Sie tun * wirklich * von der Grenze sowieso 80 Zeichen bekommen? Es ist nicht so, als würden Sie Ihren Code in einer E-Mail zurück zu den 1980er senden –
@Klaus: 80 Char-Grenze ist zwar schön; Beispielsweise können mehr Dateien auf dem Bildschirm geöffnet sein und müssen nicht nur eine wirklich lange Zeile aufnehmen, die eine Menge Bildschirmplatz einnimmt. (ZB in xmonad auf meinen zwei Bildschirmen habe ich etwa 12 Fenster gefliest; die meisten mit Code beschneiden ~ 90 Zeichen oder so.) –
@jimbob Ich sehe Ihren Punkt, aber ich benutze eine IDE. –