Uma das melhores coisas sobre o software de código aberto é a capacidade de reutilizar o código de outras pessoas. A reutilização de código ajuda você a economizar tempo, descobrir novas funcionalidades e aprender outros estilos de programação. Há duas maneiras principais de reutilizar o código:
- Copiar e colar um snippet de código diretamente no projeto. Se você ainda estiver se familiarizando com a codificação, essa será a maneira mais rápida de começar a reutilizar um código.
- Importar uma biblioteca para o projeto. Embora essa abordagem exija algum tempo para ser aprendida, ela é, no final, mais simples e eficiente. Também é uma habilidade fundamental para o desenvolvimento de software.
Neste artigo, vamos aprender os dois trabalhando com um exemplo: reutilização do código Python que calcula o fatorial de um número.
Como usar snippets de código de outras pessoas no seu projeto
Ao aprender a codificação pela primeira vez, você pode começar com a reutilização copiando e colando snippets de código de outras pessoas no seu projeto. É uma ótima forma de economizar tempo, mas há algumas etapas importantes que você sempre deve realizar antes de copiar o código de outros desenvolvedores.
1. Como encontrar e entender um snippet de código
Primeiro, você precisa encontrar e entender o snippet de código que deseja reutilizar. Para este exemplo, vamos escolher o repositório new2code/python-factorial
.
Primeiro, abra factorial_finder.py
, que implementa a calculadora usando um loop:
# Initialize the factorial result to 1
factorial = 1
# Initialize the input number to 6
number = 6
# Loop from 1 to number (inclusive) and multiply factorial by each number
for i in range(1, number + 1):
factorial *= i
print(f"The factorial of {number} is {factorial}")
Depois, na barra de menus na parte superior do arquivo, selecione para iniciar uma conversa com o Copilot.
Na janela de chat, pergunte ao Copilot:
Explain this program.
Explain this program.
2. Noções básicas sobre licenciamento de projeto
Para reutilizar o código encontrado, você precisa entender como funciona o licenciamento dele. As licenças determinam como você pode usar o código em um projeto, incluindo sua capacidade de copiar, modificar e distribuir esse código.
Para identificar a licença de new2code/python-factorial, localize a seção “Sobre” na página principal do repositório. Nela, você verá que o repositório está licenciado sob a licença MIT. Para ler a licença, selecione MIT license.
Queremos copiar todo o arquivo factorial_finder.py
, portanto, a licença MIT indica que devemos incluir uma cópia da licença em nosso projeto. No início do arquivo Python, cole a licença como um comentário.
Tip
Saiba o que é permitido por outras licenças comuns com a ferramenta Choose a license.
3. Como usar e modificar snippets de código
Agora está tudo pronto para você colar o snippet de código no projeto. Embora às vezes você possa usar snippets de código no estado em que se encontram, muitas vezes o ideal será modificá-los para o caso de uso específico. Vamos praticar isso agora.
Digamos que queremos calcular rapidamente os fatoriais de 5, 7, 9 e 10. Em vez de copiar e colar todo o programa para cada número, podemos mover a calculadora para uma função que usa um número como argumento.
Use o Copilot Chat para sugerir e explicar uma implementação. Cole o código atual na janela de chat, seguido por esta solicitação:
Wrap the Python code above in a function.
Wrap the Python code above in a function.
O Copilot vai gerar um código semelhante a este:
def calculate_factorial(number): # Initialize the factorial result to 1 factorial = 1 # Loop from 1 to number (inclusive) and multiply factorial by each number for i in range(1, number + 1): factorial *= i return factorial
def calculate_factorial(number):
# Initialize the factorial result to 1
factorial = 1
# Loop from 1 to number (inclusive) and multiply factorial by each number
for i in range(1, number + 1):
factorial *= i
return factorial
Com a nova função, podemos encontrar com facilidade os fatoriais dos números que temos adicionando o seguinte código ao projeto e executando o programa Python:
print(calculate_factorial(5)) print(calculate_factorial(7)) print(calculate_factorial(9)) print(calculate_factorial(10))
print(calculate_factorial(5))
print(calculate_factorial(7))
print(calculate_factorial(9))
print(calculate_factorial(10))
Parabéns! Você encontrou, entendeu e modificou com sucesso um exemplo de snippet de código.
Como usar um código de bibliotecas no seu projeto
Agora vamos aprender a usar bibliotecas, que é uma prática padrão para desenvolvedores. As bibliotecas são essencialmente coleções de códigos escritas por outros desenvolvedores para executar tarefas específicas. Você pode importar bibliotecas para seu projeto para usar o código pré-escrito, economizando tempo e esforço.
Nesta seção, continuaremos trabalhando com o exemplo da calculadora de fatorial do Python da seção anterior. Para referência, este é o código atual:
def calculate_factorial(number): # Initialize the factorial result to 1 factorial = 1 # Loop from 1 to number (inclusive) and multiply factorial by each number for i in range(1, number + 1): factorial *= i return factorial print(calculate_factorial(5)) print(calculate_factorial(7)) print(calculate_factorial(9)) print(calculate_factorial(10))
def calculate_factorial(number):
# Initialize the factorial result to 1
factorial = 1
# Loop from 1 to number (inclusive) and multiply factorial by each number
for i in range(1, number + 1):
factorial *= i
return factorial
print(calculate_factorial(5))
print(calculate_factorial(7))
print(calculate_factorial(9))
print(calculate_factorial(10))
1. Como encontrar uma biblioteca
Depois de saber a funcionalidade que você deseja adicionar ao projeto, pesquise uma biblioteca com o código relevante. O Copilot Chat é uma forma fácil de pesquisar bibliotecas, pois você pode usar a linguagem natural para descrever exatamente o que está procurando.
Encontrar um fatorial é uma função bastante comum e é bem provável que alguém tenha incluído essa função em uma biblioteca existente. Abra o Copilot Chat e pergunte:
Is there a Python library with a function for calculating a factorial?
Is there a Python library with a function for calculating a factorial?
O Copilot informará que uma função de fatorial está incluída no módulo math
da biblioteca padrão do Python.
2. Como priorizar a segurança no seu projeto
Ao adicionar uma biblioteca ou um módulo ao seu projeto, você cria o que é chamado de dependência. As dependências são pacotes de código pré-escritos dos quais o projeto depende para funcionar corretamente. Se elas não forem escritas com atenção ou não receberem uma manutenção adequada, poderão introduzir vulnerabilidades de segurança no seu trabalho.
A boa notícia é que há algumas etapas que você pode realizar para proteger melhor seu projeto. Vamos praticá-las agora.
Como usar bibliotecas populares
As bibliotecas populares costumam ser mais seguras porque são mantidas e usadas ativamente por muitos desenvolvedores. Um bom indicador de popularidade é o número de estrelas que um repositório tem. Se não conseguir encontrar o repositório GitHub de uma dependência, peça ajuda ao Copilot.
Abra o Copilot Chat e pergunte:
Find the GitHub repository containing the code for the math module in Python.
Find the GitHub repository containing the code for the math module in Python.
O Copilot informará que o módulo math
está definido em python/cpython
, que tem mais de 64 mil estrelas.
Como habilitar os Dependabot alerts no seu projeto
Quando habilitados, os Dependabot alerts são gerados automaticamente quando o Dependabot detecta um problema de segurança nas suas dependências, ajudando você a corrigir as vulnerabilidades rapidamente. O Dependabot está disponível gratuitamente em todos os repositórios GitHub de código aberto.
Ative agora mesmo os Dependabot alerts no seu repositório. Selecione a guia Security do repositório GitHub do projeto. Ao lado de Dependabot alerts, selecione Enable Dependabot alerts. Acesse os Dependabot alerts na guia Dependabot da barra lateral.
3. Como implementar o código de uma biblioteca
Agora está tudo pronto para você importar a biblioteca para seu projeto e, em seguida, usar o conteúdo dela no código. Leia a documentação da biblioteca para saber como fazer isso por conta própria ou peça ao Copilot para sugerir e explicar uma implementação para você.
Abra o Copilot Chat e pergunte:
How do I use the factorial function of the math module in my Python project?
How do I use the factorial function of the math module in my Python project?
Depois, o Copilot vai sugerir uma versão do seguinte código:
import math # Calculate the factorial of a number number = 5 result = math.factorial(number) print(f"The factorial of {number} is {result}")
import math
# Calculate the factorial of a number
number = 5
result = math.factorial(number)
print(f"The factorial of {number} is {result}")
Depois de substituir o código existente no projeto pela implementação acima, você terá utilizado com sucesso o código de uma biblioteca no seu projeto de exemplo!
Compartilhamento o trabalho
Com este tutorial, você aprendeu a reutilizar com segurança o código de outras pessoas em seu trabalho. Para comemorar, compartilhe como você reaproveitou o código e se baseou no projeto de exemplo em nossa discussão na comunidade.