3 útiles herramientas de Python para facilitar su código



Cualquier desarrollador utiliza una u otra herramienta auxiliar. Algunos de ellos le permiten acelerar el proceso, otros, deshacerse de los errores, hacer que el código sea más comprensible. Existen tales herramientas en casi todas las áreas de desarrollo.



Preston Badeer, un programador de Python, compartió un conjunto de extensiones que, en su opinión, simplifican y aceleran enormemente la codificación. Durante 5 años de trabajo, probó muchas herramientas e identificó tres de las más útiles.



Kite: acceso rápido a la documentación y autocompletado impulsado por IA



La mayoría de los IDE tienen una función de autocompletar incorporada. El proceso de trabajar con ellos se ve así.





Estas herramientas utilizan documentación interna para sustituir automáticamente los parámetros y los nombres de las funciones. Pero, ¿y si hubiera una herramienta que pudiera ayudar no solo con los nombres de las funciones, sino también con las piezas de código de uso frecuente? También analizó los datos de los repositorios de GitHub y ofreció las pistas necesarias. Existe tal herramienta. Kite hace mucho, pero la mayoría de las funciones importantes se pueden dividir en tres grupos.



Consejos inteligentes basados ​​en IA



Kite aprende el código base, recuerda los nombres de las variables que el desarrollador usa con frecuencia, los nombres de los parámetros de Internet y la documentación para proporcionar recomendaciones contextuales, por ejemplo:





El ejemplo muestra cómo Kite predice qué variables usará según el contexto de su código. Aquí hay otro ejemplo de cómo funcionan las sugerencias:





"Pasamos mucho tiempo indexando semánticamente todo el código en GitHub, construyendo inferencias estadísticas y modelos extensos que nos ayudan a usar la información", comenta Adam Smith, CEO de Kite.



Manejo de documentación mejorado



Si tus compañeros nunca te han enviado "RTFM" en el chat de trabajo, entonces eres un desarrollador que no comete errores. Pero, en cualquier caso, primero debe leer la documentación y luego preguntar a sus colegas sobre un problema o buscar respuestas a preguntas en Stack Overflow. Leer la documentación es un paso importante en la creación de código de programa. Será más conveniente gracias a Kite Copilot, que muestra en tiempo real una descripción de los objetos y funciones resaltados por el cursor.





Su código permanece con usted en su PC local



Kite está diseñado para uso local y no envía código a la nube. La velocidad de las indicaciones es bastante alta. Esto es importante para quienes tienen una conexión a Internet lenta o trabajan con código cerrado / propietario.



He estado trabajando con esta herramienta durante varios años y solo mejora. Puedes probarlo ahora mismo .



Mejorando el código con Mypy



Python es un lenguaje escrito dinámicamente que le permite crear cualquier variable con cualquier tipo de datos en cualquier momento. Una misma variable puede ser una cadena o un entero u otro tipo de datos dependiendo del último valor asignado. Esto acelera el proceso de codificación cuando el desarrollador no tiene que asignar manualmente el tipo de datos a las variables cada vez.



# 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


Y aquí hay un ejemplo de un lenguaje tipado estáticamente, donde a cada variable se le asigna un tipo de datos específico, que debe cumplirse en lógica:



# Many languages require the data type to be declared too

# string
str var_name = "string here"

# integer
int var_name = 1234


También hay desventajas en el enfoque dinámico:



  • Al final del proceso de desarrollo, aumenta el riesgo de encontrar errores, por lo que tendrá que volver a escribir algunas partes del código.
  • Debido al cálculo constante de tipos, el código se ejecuta más lento.
  • Debido a la escritura dinámica, el código se vuelve inseguro, ya que la entrada y salida de la función pueden tener diferentes tipos de datos para la misma variable.
  • El código dinámico es más difícil de leer porque otro desarrollador no puede estar 100% seguro de que una variable declarada previamente no cambiará su tipo.


La herramienta gratuita Mypy inyecta escritura estática en su código. Le permite encontrar errores de discrepancia de tipos en su código. Si el valor de una variable no coincide con el tipo asignado, se emite un error.



# 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


Este es el ejemplo más simple de toda la lista. Si necesita más información, siga el enlace . Además, hay una extensa sección de preguntas frecuentes en la documentación de Mypy .



Encuentra errores rápidamente y escribe funciones simples con SonarLint



La mayoría de los IDE tienen linters, analizadores de errores estáticos. Linter puede encontrar un error incluso antes de ejecutar el código. Esto se considera análisis estadístico del código.





Pero también existe el análisis dinámico, que ejecuta / compila el código en segundo plano, comprobando que funciona correctamente. Y si algo sale mal, informa de un posible error. Así es exactamente como funciona el proyecto gratuito SonarLint .



Código comentado o no utilizado



Confieso que dejo declaraciones, código comentado y funciones no utilizadas en todo el código base. SonarLint advierte de estos problemas mostrándole dónde está todo. Sin SonarLint, la resolución de problemas y la depuración pueden llevar horas. Problemas de







seguridad



SonarLint tiene una gran base de datos de vulnerabilidades actualizable que permite que el complemento advierta al desarrollador a tiempo sobre los problemas encontrados en el código.



Legibilidad del código



SonarLint advierte de complicar demasiado el código al explicar el problema. Puede ser, por ejemplo, demasiado anidamiento de declaraciones if.



Como conclusión



Un pequeño resumen, para no olvidar las herramientas descritas en el artículo:





¿Qué herramientas útiles de Python usas?






All Articles