3 nützliche Python-Tools zur Vereinfachung Ihres Codes



Jeder Entwickler verwendet das eine oder andere Hilfstool. Einige davon ermöglichen es Ihnen, den Prozess zu beschleunigen, andere - Fehler zu beseitigen und den Code verständlicher zu machen. Es gibt solche Werkzeuge in fast allen Bereichen der Entwicklung.



Preston Badeer, ein Python-Programmierer, teilte eine Reihe von Erweiterungen, die seiner Meinung nach die Codierung erheblich vereinfachen und beschleunigen. Während seiner 5-jährigen Arbeit probierte er viele Werkzeuge aus und identifizierte drei der nützlichsten.



Kite: Schneller Dokumentationszugriff und AI-gestützte automatische Vervollständigung



Die meisten IDEs verfügen über eine integrierte Autovervollständigungsfunktion. Der Prozess der Arbeit mit ihnen sieht so aus.





Diese Tools verwenden die interne Dokumentation, um Parameter und Funktionsnamen automatisch zu ersetzen. Aber was wäre, wenn es ein Tool gäbe, das nicht nur bei Funktionsnamen, sondern auch bei häufig verwendeten Codeteilen helfen könnte? Er analysierte auch die Daten der GitHub-Repositories und gab die notwendigen Hinweise. Es gibt so ein Werkzeug. Kite kann viel, aber die meisten wichtigen Funktionen können in drei Gruppen unterteilt werden.



KI-gestützte Smart Tips



Kite lernt die Codebasis, merkt sich die Namen der Variablen, die Entwickler häufig verwenden, Parameternamen aus dem Internet und die Dokumentation, um kontextbezogene Empfehlungen zu geben, zum Beispiel:





Das Beispiel zeigt, wie Kite vorhersagt, welche Variablen Sie abhängig vom Kontext Ihres Codes verwenden werden. Hier ist ein weiteres Beispiel dafür, wie Hinweise funktionieren:





„Wir haben viel Zeit damit verbracht, den gesamten Code auf GitHub semantisch zu indizieren und statistische Schlussfolgerungen und umfangreiche Modelle zu erstellen, die uns bei der Verwendung der Informationen helfen“, kommentiert Adam Smith, CEO von Kite.



Verbesserte Handhabung der Dokumentation



Wenn Ihre Kollegen Ihnen im Arbeitschat noch nie "RTFM" gesendet haben, sind Sie ein Entwickler, der keine Fehler macht. In jedem Fall sollten Sie jedoch zuerst die Dokumentation lesen und dann Kollegen nach einem Problem fragen oder nach Antworten auf Fragen zum Stapelüberlauf suchen. Das Lesen der Dokumentation ist ein wichtiger Schritt beim Erstellen von Programmcode. Kite Copilot bietet eine Beschreibung der vom Cursor hervorgehobenen Objekte und Funktionen in Echtzeit.





Ihr Code bleibt auf Ihrem lokalen PC bei Ihnen



Kite wurde für den lokalen Gebrauch entwickelt und überträgt keinen Code in die Cloud. Die Geschwindigkeit der Eingabeaufforderungen ist ziemlich hoch. Dies ist wichtig für diejenigen, die ein langsames Internet haben oder mit geschlossenem / proprietärem Code arbeiten.



Ich arbeite seit mehreren Jahren mit diesem Tool und es wird nur noch besser. Sie können es jetzt versuchen .



Den Code mit Mypy verbessern



Python ist eine dynamisch typisierte Sprache, mit der Sie jederzeit eine beliebige Variable mit einem beliebigen Datentyp erstellen können. Dieselbe Variable kann abhängig vom zuletzt zugewiesenen Wert entweder eine Zeichenfolge oder eine Ganzzahl oder ein anderer Datentyp sein. Dies beschleunigt den Codierungsprozess, wenn der Entwickler den Variablen nicht jedes Mal manuell den Datentyp zuweisen muss.



# These two variable types are declared the exact same way
# Python figures out the data type on it's own, dynamically

# string
var_name = "string here"

# integer
var_name = 1234


Und hier ist ein Beispiel für eine statisch typisierte Sprache, bei der jeder Variablen ein bestimmter Datentyp zugewiesen wird, der in der Logik eingehalten werden muss:



# Many languages require the data type to be declared too

# string
str var_name = "string here"

# integer
int var_name = 1234


Der dynamische Ansatz hat auch Nachteile:



  • Am Ende des Entwicklungsprozesses steigt das Risiko von Fehlern, sodass Sie einige Teile des Codes neu schreiben müssen.
  • Aufgrund der ständigen Berechnung der Typen wird der Code langsamer ausgeführt.
  • Aufgrund der dynamischen Typisierung wird der Code unsicher, da die Eingabe und Ausgabe der Funktion unterschiedliche Datentypen für dieselbe Variable haben kann.
  • Dynamischer Code ist schwieriger zu lesen, da ein anderer Entwickler nicht 100% sicher sein kann, dass eine zuvor deklarierte Variable ihren Typ nicht ändert.


Das kostenlose Mypy- Tool fügt statische Eingaben in Ihren Code ein. Es ermöglicht Ihnen, Typinkongruenzfehler in Ihrem Code zu finden. Wenn der Wert einer Variablen nicht mit dem zugewiesenen Typ übereinstimmt, wird ein Fehler ausgegeben.



# Declaring a function using normal dynamic typing, without mypy
def iter_primes():
   # code here#

 Declaring the same function with mypy static typing
from typing import Iterator

def iter_primes() -> Iterator[int]:
   # code here


Dies ist das einfachste Beispiel in der gesamten Liste. Wenn Sie weitere Informationen benötigen, folgen Sie dem Link . Außerdem finden Sie in der Mypy-Dokumentation eine ausführliche FAQ .



Finden Sie Fehler schnell und schreiben Sie einfache Funktionen mit SonarLint



Die meisten IDEs haben Linters und statische Fehleranalysatoren. Linter kann bereits vor dem Ausführen des Codes einen Fehler finden. Dies wird als statistische Analyse des Codes angesehen.





Es gibt aber auch eine dynamische Analyse, bei der der Code im Hintergrund ausgeführt / kompiliert wird, um zu überprüfen, ob er ordnungsgemäß funktioniert. Und wenn etwas schief geht, wird ein möglicher Fehler gemeldet. Genau so funktioniert das kostenlose Projekt SonarLint .



Auskommentierter oder nicht verwendeter Code



Ich gebe zu, dass ich Anweisungen, auskommentierten Code und nicht verwendete Funktionen in der gesamten Codebasis hinterlasse. SonarLint warnt vor diesen Problemen, indem es Ihnen zeigt, wo sich alles befindet. Ohne SonarLint kann die Fehlerbehebung und das Debuggen Stunden dauern.







Sicherheitsprobleme



SonarLint verfügt über eine große aktualisierbare Schwachstellendatenbank, mit der das Plugin den Entwickler rechtzeitig vor Problemen im Code warnen kann.



Lesbarkeit des Codes



SonarLint warnt vor einer Überkomplikation des Codes, indem es das Problem erklärt. Es kann zum Beispiel sein, dass if-Anweisungen zu stark verschachtelt sind.



Als Schlussfolgerung



Eine kleine Zusammenfassung, um die im Artikel beschriebenen Tools nicht zu vergessen:





Welche nützlichen Python-Tools verwenden Sie?






All Articles