8 Anzeichen dafür, dass Sie Python richtig einsetzen

Wenn Sie diese acht erstklassigen Python-Programmierpraktiken befolgen, dann machen Sie es richtig. [...]

Es ist leicht zu erkennen, wenn man in der Entwicklung etwas falsch macht. Aber was ist mit den Dingen, die Sie richtig machen? (c) Pixabay.com

Wenn man in der Entwicklung etwas falsch macht, erkennt man das in der Regel schnell. Bugs, die aus dem Nichts auftauchen, Code, der wie Melasse zerfließt, und schwerfällige Projektstrukturen sind nur drei der verräterischen Anzeichen. Doch manchmal ist es gar nicht so leicht zu erkennen, ob man es richtig macht. Gute Programmiergewohnheiten sind wie gute Spezialeffekte in Filmen: Man merkt nicht, dass sie da sind, weil sie sich nicht ankündigen.

Was sind nun also einige der Anzeichen für gute Programmiergewohnheiten in Python? Wenn die Sprache neu für Sie ist und Sie eine Vorstellung davon brauchen könnten, wie gutes Entwicklerverhalten in Python aussieht, oder wenn Sie einfach nur wissen möchten, ob einige der Gewohnheiten, die Sie sich angeeignet haben, es wert sind, beibehalten zu werden, haben wir eine Reihe von Wegweisern für Sie zusammengestellt. Wenn Sie sich an die acht unten aufgeführten bewährten Vorgehensweisen halten, dann verwenden Sie Python richtig.

Sie verwenden virtuelle Umgebungen und Projektmanagement-Tools

Selbst kleine, einmalige Python-Projekte profitieren von einer virtuellen Umgebung und einer richtigen Projektstruktur. Tools wie Poetry sorgen dafür, dass der Einrichtungsprozess nahezu automatisch verläuft. Sogar mit geringem venv ist es relativ einfach, Ihr Projekt mit einer virtuellen Umgebung zu bestücken und von deren Vorteilen zu profitieren.

Version Control ist ein weiteres wichtiges Projektmanagement-Tool. Heutzutage bedeutet das in der Regel Git. Und ja, Sie sollten die Vorteile von Git sogar für einfache Ein-Datei-Projekte nutzen. Man weiß nie, wann Sie auf eine frühere Version von etwas zurückgreifen müssen. Die meisten IDEs, die Python unterstützen, haben auch eine integrierte Unterstützung für venv und Git, so dass es einfach ist, sie zu verwenden.

Sie verwenden in Python integrierte Funktionen und erfinden das Rad nicht neu

Der versierte Python-Programmierer weiß die eingebauten Funktionen und die Standardbibliothek von Python zu nutzen, um die große Mehrheit der üblichen Anwendungsfälle zu bewältigen. Die meisten Routineaufgaben, die Sie erledigen müssen – Datei-Manipulationen, reguläre Ausdrücke, Arbeiten mit einem Web-Browser usw. – werden bereits irgendwo in Python bearbeitet.

Eine häufige Frage, die weniger erfahrene Python-Entwickler stellen, lautet: Woher weiß ich, ob etwas in der Standardbibliothek meinen Anwendungsfall abdeckt, ohne dass ich mir den Inhalt merken muss? Die kurze Antwort ist, den Index der Standardbibliothek und die Übersichtsseiten über die eingebauten Funktionen mit einem Lesezeichen zu versehen und sie zu überfliegen, wenn Sie mit einem „alltäglichen Programmierproblem“ zu kämpfen haben. Die ständige Auseinandersetzung mit den in Python verfügbaren Tools ist ein guter Lehrmeister.

Sie verwenden die richtigen Module für Ihre Aufgabe

Wie bei den Built-Ins und der Standardbibliothek ist die Nutzung der enormen Sammlung von Python-Modulen von Drittanbietern eine Arbeitserleichterung. Feuern Sie einen Suchbegriff zu Ihrem Problem über das Web-Frontend von PyPI ab, und Sie werden fast immer Module finden, die eine sofort einsatzbereite Lösung bieten. Noch einmal: Warum das (Python-)Rad neu erfinden, wenn Sie es einfach pip install(en) können? Außerdem zeichnen sich viele Python-Module durch eine C-beschleunigte Leistung aus, was bedeutet, dass Sie eine höhere Entwicklungsgeschwindigkeit und eine schnellere Programmausführung erhalten, wenn Sie die Module anderer verwenden.

Eine Frage, die oft gestellt wird: Wenn mehrere Module verfügbar sind, die meinen Anwendungsfall bearbeiten, welches soll ich dann verwenden? Die einfache Antwort ist, mit dem Projekt zu beginnen, das die meiste Nutzung oder Dynamik zu haben scheint (wie z.B. durch GitHub-Sterne oder -Gabeln angezeigt wird), denn es ist gut möglich, dass Ihr Anwendungsfall derselbe ist wie der vieler anderer Leute.

Sie werden nicht verrückt mit OOP

Die objektorientierte Programmierung (OOP) bündelt Datenstrukturen mit den Methoden, mit denen sie manipuliert werden, wodurch es einfacher wird, high-level Code zu schreiben. Für eine high-level Sprache wie Python ist OOP eine gute Wahl. Aber nicht jeder Python-Code muss objektorientiert sein. Python-Entwickler wissen, dass 20 Zeilen (oder sogar 200 Zeilen) get-it-done-and-get-on-with-it Code eine wertvolle Zeitersparnis gegenüber einer objektorientierten Alternative sein können, solange die Aufgabe nicht den OOP-Ansatz erfordert. Im Großen und Ganzen profitieren große und komplexe Projekte von der Objektorientierung, aber solange das Projekt keine OOP erfordert, ist es in Ordnung, die Regeln zu lockern.

Sie testen Ihren Code

Da wir gerade von etwas sprechen, das mit größeren Projekten gemacht wird, wissen die weisen Pythonistas um den Wert der Erstellung von Testsuiten. So mühsam und ermüdend das Schreiben von Tests auch sein kann, sind sie doch von unschätzbarem Wert, wenn ein Projekt über ein bestimmtes Maß an Komplexität hinaus wächst. Ein Zeichen noch fortgeschrittenerer Beherrschung ist die Erstellung von Tests parallel zu jeder neuen Funktion, nicht erst im Nachhinein. Je schneller Sie den Aufwand beim Schreiben von Tests überwinden, desto schneller können Sie Ihren Code verbessern. Beginnen Sie die Tests gleich mit der ersten implementierten Funktion, und Sie werden froh sein, dass Sie sie implementiert haben.

Sie verwenden nicht Python 2

Das war letztes Jahr so, und es ist jetzt doppelt so wahr. Python 2 hatte einen langen, guten Lauf, aber es wird jetzt vom offiziellen Python-Entwicklerteam nicht mehr unterstützt. Clevere Pythonistas haben ihre Projekte bereits auf Python 3 migriert, oder sie tun es jetzt.

Sie verwenden auch nicht die neueste Version von Python

Python 3.8 mag die neueste und „beste“ Version von Python sein, aber das bedeutet nicht, dass Sie verpflichtet sind, es zu nutzen. Tatsächlich versteht der kluge Software-Entwickler, dass die Verwendung der aktuellsten Version von irgendetwas ein Glücksspiel ist. Python ist da nicht anders. Der kluge Python-Programmierer hält sich an die Revision vor der aktuellsten Revision, um die größtmögliche Kompatibilität mit Modulen von Drittanbietern zu gewährleisten. Schließlich ist die Möglichkeit, auf all diese nützlichen Module zurückgreifen zu können, einer der Hauptgründe, Python überhaupt zu verwenden.

Sie verwenden auch andere Programmiersprachen

Python ist für fast alles als die „zweitbeste Programmiersprache“ beschrieben worden – und manchmal ist die Kluft zwischen der besten und der zweitbesten in der Tat groß. Kluge Python-Entwickler wissen, dass Python nur ein Tool unter vielen ist, und dass man immer das richtige Tool für die jeweilige Aufgabe verwenden sollte.

Für Anwendungen oder Operationen, die eine maximale Laufzeitgeschwindigkeit erfordern, werden Sie in der Regel nicht ausschließlich Python verwenden wollen; es ist C oder Rust oder sogar Go, nach dem Sie greifen werden. Aber nicht jede leistungsintensive Programmierung bedeutet den vollständigen Verzicht auf Python. Vielleicht bedeutet es nur, dass Sie eine C-basierte Bibliothek wie Numpy oder Pandas verwenden müssen, oder dass Sie C- oder C-kompatiblen Code in eine Python-Shell packen müssen, oder dass Sie Cython verwenden müssen, um Python in C umzuwandeln.

*Serdar Yegulalp ist ein leitender Autor bei InfoWorld, der sich auf maschinelles Lernen, Containerisierung, Devops, das Python-Ökosystem und periodische Überprüfungen konzentriert.


Mehr Artikel

Gregor Schmid, Projektcenterleiter bei Kumavision, über die Digitalisierung im Mittelstand und die Chancen durch Künstliche Intelligenz. (c) timeline/Rudi Handl
Interview

„Die Zukunft ist modular, flexibel und KI-gestützt“

Im Gespräch mit der ITWELT.at verdeutlicht Gregor Schmid, Projektcenterleiter bei Kumavision, wie sehr sich die Anforderungen an ERP-Systeme und die digitale Transformation in den letzten Jahren verändert haben und verweist dabei auf den Trend zu modularen Lösungen, die Bedeutung der Cloud und die Rolle von Künstlicher Intelligenz (KI) in der Unternehmenspraxis. […]

News

Richtlinien für sichere KI-Entwicklung

Die „Guidelines for Secure Development and Deployment of AI Systems“ von Kaspersky behandeln zentrale Aspekte der Entwicklung, Bereitstellung und des Betriebs von KI-Systemen, einschließlich Design, bewährter Sicherheitspraktiken und Integration, ohne sich auf die Entwicklung grundlegender Modelle zu fokussieren. […]

News

Datensilos blockieren Abwehrkräfte von generativer KI

Damit KI eine Rolle in der Cyberabwehr spielen kann, ist sie auf leicht zugängliche Echtzeitdaten angewiesen. Das heißt, die zunehmende Leistungsfähigkeit von GenAI kann nur dann wirksam werden, wenn die KI Zugriff auf einwandfreie, validierte, standardisierte und vor allem hochverfügbare Daten in allen Anwendungen und Systemen sowie für alle Nutzer hat. Dies setzt allerdings voraus, dass Unternehmen in der Lage sind, ihre Datensilos aufzulösen. […]

Be the first to comment

Leave a Reply

Your email address will not be published.


*