Tout développeur utilise l'un ou l'autre outil auxiliaire. Certains d'entre eux vous permettent d'accélérer le processus, d'autres - se débarrassent des erreurs, rendent le code plus compréhensible. Il existe de tels outils dans presque tous les domaines de développement.
Preston Badeer, programmeur Python, a partagé un ensemble d'extensions qui, à son avis, simplifient et accélèrent considérablement le codage. Pendant 5 ans de travail, il a essayé de nombreux outils et identifié trois des plus utiles.
Kite: accès rapide à la documentation et saisie semi-automatique alimentée par l'IA
La plupart des IDE ont une fonctionnalité de saisie semi-automatique intégrée. Le processus de travail avec eux ressemble à ceci.
Ces outils utilisent la documentation interne pour remplacer automatiquement les paramètres et les noms de fonctions. Mais que se passerait-il s'il y avait un outil qui pouvait vous aider non seulement avec les noms de fonctions, mais aussi avec les morceaux de code fréquemment utilisés? Il a également analysé les données des référentiels GitHub et a offert les conseils nécessaires. Il existe un tel outil. Kite fait beaucoup, mais la plupart des fonctionnalités importantes peuvent être divisées en trois groupes.
Astuces intelligentes basées sur l'IA
Kite apprend la base de code, se souvient des noms de variables que les développeurs utilisent souvent, des noms de paramètres d'Internet et de la documentation pour fournir des recommandations contextuelles, par exemple:
L'exemple montre comment Kite prédit les variables que vous utiliserez en fonction du contexte de votre code. Voici un autre exemple du fonctionnement des astuces:
«Nous avons passé beaucoup de temps à indexer sémantiquement tout le code sur GitHub, à construire des inférences statistiques et des modèles étendus qui nous aident à utiliser les informations», commente Adam Smith, PDG de Kite.
Gestion améliorée de la documentation
Si vos collègues ne vous ont jamais envoyé de "RTFM" dans le chat de travail, alors vous êtes un développeur qui ne fait pas d'erreur. Mais, dans tous les cas, vous devez d'abord lire la documentation, puis interroger vos collègues sur un problème ou chercher des réponses aux questions sur Stack Overflow. La lecture de la documentation est une étape importante dans la création du code du programme. Il sera rendu plus pratique par Kite Copilot, qui affiche en temps réel une description des objets et des fonctions mis en évidence par le curseur.
Votre code reste avec vous sur votre PC local
Kite est conçu pour un usage local et ne pousse pas le code vers le cloud. La vitesse des invites est assez élevée. Ceci est important pour ceux qui ont un Internet lent ou qui travaillent avec du code fermé / propriétaire.
Je travaille avec cet outil depuis plusieurs années et ça ne fait que s'améliorer. Vous pouvez l'essayer dès maintenant .
Améliorer le code avec Mypy
Python est un langage typé dynamiquement qui vous permet de créer à tout moment n'importe quelle variable avec n'importe quel type de données. Une seule et même variable peut être une chaîne ou un entier ou un autre type de données en fonction de la dernière valeur attribuée. Cela accélère le processus de codage lorsque le développeur n'a pas à attribuer manuellement le type de données aux variables à chaque fois.
# 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
Et voici un exemple de langage à typage statique, où chaque variable se voit attribuer un type de données spécifique, qui doit être respecté en logique:
# Many languages require the data type to be declared too
# string
str var_name = "string here"
# integer
int var_name = 1234
L'approche dynamique présente également des inconvénients:
- À la fin du processus de développement, le risque de rencontrer des erreurs augmente, vous devrez donc réécrire certaines parties du code.
- En raison du calcul constant des types, le code s'exécute plus lentement.
- En raison du typage dynamique, le code devient dangereux, car l'entrée et la sortie de la fonction peuvent avoir différents types de données pour la même variable.
- Le code dynamique est plus difficile à lire car un autre développeur ne peut pas être sûr à 100% qu'une variable précédemment déclarée ne changera pas de type.
L'outil gratuit Mypy injecte une saisie statique dans votre code. Il vous permet de trouver des erreurs d'incompatibilité de type dans votre code. Si la valeur d'une variable ne correspond pas au type affecté, une erreur est générée.
# 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
C'est l'exemple le plus simple de toute la liste. Si vous avez besoin de plus d'informations, suivez le lien . De plus, il existe une FAQ complète dans la documentation de Mypy .
Trouvez rapidement les bogues et écrivez des fonctions simples avec SonarLint
La plupart des IDE ont des linters, des analyseurs d'erreurs statiques. Linter peut trouver une erreur avant même d'exécuter le code. Ceci est considéré comme une analyse statistique du code.
Mais il y a aussi l'analyse dynamique, qui exécute / compile le code en arrière-plan, vérifiant qu'il fonctionne correctement. Et si quelque chose ne va pas, cela signale une erreur possible. C'est exactement ainsi que fonctionne le projet gratuit SonarLint .
Code commenté ou inutilisé
J'avoue que je laisse des déclarations, du code commenté et des fonctions inutilisées dans toute la base de code. SonarLint vous avertit de ces problèmes en vous montrant où tout se trouve. Sans SonarLint, le dépannage et le débogage peuvent prendre des heures. Problèmes de
sécurité
SonarLint possède une grande base de données de vulnérabilités pouvant être mise à jour qui permet au plugin d'avertir le développeur à temps des problèmes trouvés dans le code.
Lisibilité du code
SonarLint met en garde contre une complication excessive du code en expliquant le problème. Cela peut être, par exemple, trop d'imbrication d'instructions if.
Comme conclusion
Un petit résumé, pour ne pas oublier les outils décrits dans l'article:
- Écrivez du code plus rapidement et moins sur Google avec Kite Copilot et le plugin Editor .
- Rendez votre code stable avec le module Mypy Python .
- Trouvez les bogues plus rapidement et écrivez du code lisible avec le plug - in SonarLint Editor .
Quels outils Python utiles utilisez-vous?