3 ferramentas Python úteis para tornar seu código mais fácil



Qualquer desenvolvedor usa uma ou outra ferramenta auxiliar. Alguns deles permitem que você acelere o processo, alguns - livrar-se de erros, tornar o código mais compreensível. Existem tais ferramentas em quase todas as áreas de desenvolvimento.



Preston Badeer, um programador Python, compartilhou um conjunto de extensões que, em sua opinião, simplifica e acelera muito a codificação. Por 5 anos de trabalho, ele experimentou muitas ferramentas e identificou três das mais úteis.



Kite: acesso rápido à documentação e preenchimento automático com IA



A maioria dos IDEs tem funcionalidade de preenchimento automático embutida. O processo de trabalhar com eles é assim.





Essas ferramentas usam documentação interna para substituir automaticamente os parâmetros e nomes de funções. Mas e se houvesse uma ferramenta que pudesse ajudá-lo não apenas com nomes de funções, mas também com pedaços de código usados ​​com frequência? Ele também analisou os dados dos repositórios GitHub e ofereceu as dicas necessárias. Existe essa ferramenta. O Kite faz muito, mas a maioria dos recursos importantes podem ser divididos em três grupos.



Dicas inteligentes com tecnologia de IA



Kite aprende a base de código, lembra os nomes das variáveis ​​que os desenvolvedores costumam usar, nomes de parâmetros da Internet e documentação para fornecer recomendações contextuais, por exemplo:





O exemplo mostra como Kite prevê quais variáveis ​​você usará dependendo do contexto do seu código. Aqui está outro exemplo de como as dicas funcionam:





“Passamos muito tempo indexando semanticamente todo o código no GitHub, construindo inferências estatísticas e modelos abrangentes que nos ajudam a usar as informações”, comenta Adam Smith, CEO da Kite.



Manuseio de documentação aprimorado



Se seus colegas nunca lhe enviaram "RTFM" no chat de trabalho, então você é um desenvolvedor que não comete erros. Mas, em qualquer caso, você deve primeiro ler a documentação e, em seguida, perguntar aos colegas sobre um problema ou procurar respostas para perguntas no Stack Overflow. Ler a documentação é uma etapa importante na criação do código do programa. Será mais conveniente com o Kite Copilot, que mostra em tempo real uma descrição dos objetos e funções destacados pelo cursor.





Seu código permanece com você em seu PC local



O Kite foi desenvolvido para uso local e não envia código para a nuvem. A velocidade dos prompts é bastante alta. Isso é importante para quem tem internet lenta ou trabalho relacionado a código fechado / proprietário.



Trabalho com essa ferramenta há vários anos e ela está cada vez melhor. Você pode tentar agora .



Melhorando o código com Mypy



Python é uma linguagem tipada dinamicamente que permite que você faça qualquer variável com qualquer tipo de dados a qualquer momento. Uma e a mesma variável pode ser uma string ou um inteiro ou outro tipo de dados, dependendo do último valor atribuído. Isso acelera o processo de codificação quando o desenvolvedor não precisa atribuir manualmente o tipo de dados às variáveis ​​todas as vezes.



# 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


E aqui está um exemplo de uma linguagem tipada estaticamente, onde cada variável é atribuída a um tipo de dados específico, que deve ser respeitado na lógica:



# Many languages require the data type to be declared too

# string
str var_name = "string here"

# integer
int var_name = 1234


Existem também desvantagens na abordagem dinâmica:



  • Ao final do processo de desenvolvimento, o risco de encontrar erros aumenta, então você terá que reescrever algumas partes do código.
  • Por causa do cálculo constante de tipos, o código é executado mais lentamente.
  • Devido à tipagem dinâmica, o código torna-se inseguro, pois a entrada e a saída da função podem ter diferentes tipos de dados para a mesma variável.
  • O código dinâmico é mais difícil de ler porque outro desenvolvedor não pode ter 100% de certeza de que uma variável declarada anteriormente não mudará seu tipo.


A ferramenta gratuita Mypy injeta tipagem estática em seu código. Ele permite que você encontre erros de incompatibilidade de tipo em seu código. Se o valor de uma variável não corresponder ao tipo atribuído, será gerado um erro.



# 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 é o exemplo mais simples de toda a lista. Se precisar de mais informações, siga o link . Além disso, há um extenso FAQ na documentação do Mypy .



Encontre bugs rapidamente e escreva funções simples com SonarLint



A maioria dos IDEs possui linters, analisadores de erros estáticos. Linter pode encontrar um erro antes mesmo de executar o código. Isso é considerado análise estatística do código.





Mas também existe a análise dinâmica, que executa / compila o código em segundo plano, verificando se funciona corretamente. E se algo der errado, ele reporta um possível erro. É exatamente assim que funciona o projeto gratuito SonarLint .



Código comentado ou não utilizado



Confesso que deixo declarações, código comentado e funções não utilizadas em toda a base de código. O SonarLint avisa sobre esses problemas, mostrando onde está tudo. Sem o SonarLint, a solução de problemas e a depuração podem levar horas. Problemas de







segurança O



SonarLint tem um grande banco de dados de vulnerabilidades atualizável que permite ao plug-in avisar imediatamente o desenvolvedor sobre os problemas encontrados no código.



Legibilidade do código



SonarLint avisa sobre complicar demais o código, explicando o problema. Pode ser, por exemplo, aninhamento demais de instruções if.



Como uma conclusão



Um pequeno resumo, para não esquecer as ferramentas descritas no artigo:





Quais ferramentas úteis do Python você usa?






All Articles