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

Die Teilnehmer des Roundtables (v.l.n.r.): Roswitha Bachbauer (CANCOM Austria), Thomas Boll (Boll Engineering AG), Manfred Weiss (ITWelt.at) und Udo Schneider (Trend Micro). (c) timeline/Rudi Handl
News

Security in der NIS2-Ära

NIS2 ist mehr ein organisatorisches Thema als ein technisches. Und: Von der Richtlinie sind via Lieferketten wesentlich mehr Unternehmen betroffen als ursprünglich geplant, womit das Sicherheitsniveau auf breiter Basis gehoben wird. Beim ITWelt.at Roundtable diskutierten drei IT-Experten und -Expertinnen über die Herausforderungen und Chancen von NIS2. […]

Christoph Mutz, Senior Product Marketing Manager, AME, Western Digital (c) AME Western Digital
Interview

Speicherlösungen für Autos von morgen

Autos sind fahrende Computer. Sie werden immer intelligenter und generieren dabei jede Menge Daten. Damit gewinnen auch hochwertige Speicherlösungen im Fahrzeug an Bedeutung. Christoph Mutz von Western Digital verrät im Interview, welche Speicherherausforderungen auf Autohersteller und -zulieferer zukommen. […]

Andreas Schoder ist Leiter Cloud & Managend Services bei next layer, Alexandros Osyos ist Senior Produkt Manager bei next layer. (c) next layer
Interview

Fokus auf österreichische Kunden

Der österreichische Backup-Experte next layer bietet umfassendes Cloud-Backup in seinen Wiener Rechenzentren. Im Interview mit ITWelt.at erläutern Andreas Schoder, Leiter Cloud & Managed Services, und Alexandros Osyos, Senior Produkt Manager, worauf Unternehmen beim Backup achten müssen und welche Produkte und Dienstleistungen next layer bietet. […]

Miro Mitrovic ist Area Vice President für die DACH-Region bei Proofpoint.(c) Proofpoint
Kommentar

Die Achillesferse der Cybersicherheit

Eine immer größere Abhängigkeit von Cloud-Technologien, eine massenhaft mobil arbeitende Belegschaft und große Mengen von Cyberangreifern mit KI-Technologien haben im abgelaufenen Jahr einen wahrhaften Sturm aufziehen lassen, dem sich CISOS ausgesetzt sehen. Eine große Schwachstelle ist dabei der Mensch, meint Miro Mitrovic, Area Vice President DACH bei Proofpoint. […]

Alexander Graf ist Geschäftsführer der Antares-NetlogiX Netzwerkberatung GmbH. (c) Antares-NetlogiX Netzwerkberatung GmbH
Interview

Absicherung kritischer Infrastrukturen

NIS2 steht vor der Tür – höchste Zeit, entsprechende Maßnahmen auch im Bereich der Operational Technology (OT) zu ergreifen. »Wenn man OT SIEM richtig nutzt, sichert es kritische Infrastrukturen verlässlich ab«, sagt Alexander Graf, Experte für OT-Security (COSP) und Geschäftsführer der Antares-NetlogiX Netzwerkberatung GmbH, im ITWelt.at-Interview. […]

Brian Wrozek, Principal Analyst bei Forrester (c) Forrester
Interview

Cybersicherheit in der Ära von KI und Cloud

Die Bedrohungslandschaft im Bereich der Cybersicherheit hat sich zu einer unbeständigen Mischung von Bedrohungen entwickelt, die durch zunehmende Unsicherheit und steigende Komplexität bedingt ist. Zu diesem Schluss kommt der Report »Top Cyber-security Threats In 2024« von Forrester. ITWelt.at hat dazu mit Studienautor Brian Wrozek ein Interview geführt. […]

Be the first to comment

Leave a Reply

Your email address will not be published.


*