Sauberen, effizienten und wartbaren Code schreiben - Python als Anwendungsfall.
Wenn Sie schon seit einiger Zeit Entwickler sind, wissen Sie vielleicht, wie wichtig richtiges Codieren im Gegensatz zur Hektik ist, nur etwas zu schreiben, das funktioniert. Einer der größten Nachteile, den dies für Sie mit sich bringt, besteht darin, dass Sie, wenn Sie Ihren Code überprüfen müssen, selten verstehen, was Sie tun wollten, und dass es für andere schwierig ist, Ihren Code zu lesen.
Ich habe kürzlich einige Codes überprüft und denke, dass es wichtig ist, die Notwendigkeit eines sauberen und effizienten Codes hervorzuheben.
In den frühen 1970er Jahren, als die Programmiersprache C an Popularität gewann, wurde der Codierungsstil zu einer Diskussionssache und zwei bemerkenswerte Namen in diesem Zusammenhang waren Brian Kernighan und Dennis Ritchie.
Interessanterweise hat die Ada-Sprache in den späten 1980er Jahren strenge Codierungsrichtlinien und -standards durchgesetzt. Mitte der 1990er Jahre kamen Python und Java mit strengen Codierungskonventionen aus der Anfangsphase auf den Markt und der Python Enhancement Proposal (PEP 8) wurde gut angenommen, der auch heute noch eine gültige Codierungskonvention ist.
Die Code-Linting-Erweiterung flake8 von VS Code ist eine gute Wahl, die ich verwende.
Die Richtlinien sind:
Einrückung: Verwenden Sie 4 Leerzeichen pro Einrückungsebene.
Zeilenlänge: Beschränken Sie alle Zeilen auf maximal 79 Zeichen.
Namenskonventionen: Verwenden Sie „snake_case“ für Funktions- und Variablennamen und „CamelCase“ für Klassennamen.
Zum Beispiel:
`# defining variables using snake_case total_price = 100 customer_email = "customer@example.com" # defining functions using snake_case def calculate_total_price(): pass class OrderManager: pass`
2. Aussagekräftige Kommentare und Dokumentationen: Docstrings helfen Entwicklern, den Zweck einer Funktion/Methode, Parameter und Rückgabewerte zu verstehen. Im Allgemeinen ist es eine gute Praxis, sie vorzustellen und Kommentare zu verfassen, um eine komplexe Logik oder Entscheidung zu verdeutlichen
Zum Beispiel:
def calculate_total_price(price: float, quantity: int) -> float: """ Calculate the total price of items. Args: price (float): The price of a single item. quantity (int): The number of items purchased. Returns: float: The total price. """ return price * quantity
**3. Code-Wiederholungen: **Als Faustregel gilt: Vermeiden Sie die Wiederholung eines bereits implementierten Codes, sondern befolgen Sie das DRY-Prinzip, indem Sie wiederverwendbare Funktionen erstellen. Der Vorbehalt dabei ist, dass ein neuer Entwickler, wenn er eine Änderung implementiert, möglicherweise nicht weiß, dass es sich um einen duplizierten Code handelt, der ausgelassen wurde, und dass er aufgrund dieses Fehlers eine Menge Ärger machen kann.
Zum Beispiel haben Sie eine Funktion, die den Gesamtpreis für einen E-Commerce-Shop berechnet, indem Preis und Menge multipliziert werden.
total_price_laptops = 1000 * 2 total_price_phones = 500 * 3 This, is easily done with reusable functions like this: def calculate_total(price, quantity): return price * quantity total_price_laptops = calculate_total(1000, 2) total_price_phones = calculate_total(500, 3)
4. Typhinweise: Python ist eine dynamisch typisierte Sprache. Typhinweise verbessern die Lesbarkeit Ihres Codes und erkennen Fehler frühzeitig. Es ist einfacher zu verstehen, welche Datentypen erwartet werden.
Zum Beispiel:
def get_discounted_price(price: float, discount: float) -> float: return price - (price * discount)
**5. Tests schreiben: **Tests validieren die Funktionalität Ihres Codes. Beliebte Frameworks wie Unittest oder Pytest vereinfachen das Schreiben und Ausführen von Tests. Beim Testen wird sichergestellt, dass sich Ihr Code wie erwartet verhält, wodurch das Risiko der Einführung von Fehlern bei Änderungen oder Umgestaltungen verringert wird.
def test_calculate_total_price(): assert calculate_total_price(100, 2) == 200
6. Ausnahmen: Es kann peinlich sein, wenn Produktionscodes bedeutungslose Codezeilen an Clientbenutzer ausdrucken oder, noch schlimmer, Umgebungsvariablen ausgeben. Dies lässt sich mit der Ausnahmebehandlung try/exclus/finally einfacher vermeiden, um vorhersehbare Fehler zu verwalten und sicherzustellen, dass Ihre Anwendung nicht unerwartet abstürzt.
try: value = int(input("Enter a number: ")) except ValueError: print("That's not a valid number!") finally: print('Thank you!')
7. Code-Modularisierung: Es gibt keine Regel, die besagt, dass Sie Ihre Codes in einer Datei aufbewahren müssen. Teilen Sie große Codeblöcke in kleinere, wiederverwendbare Module auf und importieren Sie sie bei Bedarf in die Anwendung. Es ist einfacher zu testen und zu aktualisieren.
8. Versionskontrolle: Versionskontrollsysteme wie Git sind eine grundlegende Best Practice in der modernen Entwicklung. Andere sind Beanstalk, PerForce, Apache Subversion. Versionskontrollen können Änderungen nachverfolgen, menschliche Fehler bei der Zusammenarbeit und unbeabsichtigte Folgen weitgehend reduzieren.
Indem Sie Best Practices wie die Einhaltung von PEP 8 befolgen, Ihren Code trocken halten, aussagekräftige Dokumentation schreiben und Ausnahmen ordnungsgemäß behandeln, können Sie sicherstellen, dass Ihre Python-Projekte professionell, skalierbar und einfach zu warten sind.
Beginnen Sie noch heute mit der Umsetzung dieser Tipps und Sie werden eine spürbare Verbesserung der Qualität Ihres Codes feststellen.
Das obige ist der detaillierte Inhalt vonSauberen, effizienten und wartbaren Code schreiben – Python als Anwendungsfall.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!