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.
Como usar snippets de código de outras pessoas no seu projeto
Conforme você aprende a codificar, você pode copiar e colar snippets de código de outras pessoas no seu projeto. Embora o uso de snippets de código seja uma excelente maneira de aprender a codificar e economizar tempo, há algumas medidas importantes que você sempre deve tomar antes de copiar o código de outros desenvolvedores.
1. Como encontrar e entender um snippet de código
A primeira etapa é escolher um snippet de código que você deseja reutilizar. Para encontrar um código qualificado, experimente fazer uma pesquisa no GitHub. Você pode restringir a pesquisa com qualificadores de pesquisa como language:YOUR-SEARCH-LANGUAGE
.
Por exemplo, digamos que você queira reutilizar um código Python que calcula o fatorial de um número. Ao fazer uma pesquisa no GitHub por factorial language:python is:repository user:devwithdocs
, encontramos o repositório devwithdocs/python-factorial
, que implementa a calculadora em factorial_finder.py
por meio de 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}")
Se você não entender de imediato um snippet de código, peça ao Copilot para explicá-lo. Na barra de menus na parte superior do arquivo factorial_finder.py
, selecione para iniciar uma conversa sobre o arquivo e, em seguida, peça ao Copilot para 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.
Encontre a licença de um projeto na seção “About” da página principal do repositório. Por exemplo, podemos ver que o repositório devwithdocs/python-factorial
está licenciado sob a licença MIT. Para ler a licença, selecione MIT license.
Note
Se o código que você deseja usar estiver sob outra licença, use os resumos de licenças em Licenses para entender como ele funciona.
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.
3. Como usar e modificar snippets de código
Agora que você entendeu como funciona o código e o licenciamento dele, cole o snippet de código no projeto. Embora você possa usar o código no estado em que ele se encontra, muitas vezes você precisará modificá-lo para seu caso de uso específico.
Para nosso exemplo de fatorial, 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.
Para nos ajudar a fazer essas alterações, vamos pedir ao Copilot para sugerir e explicar uma implementação. Podemos colar o código atual na janela de chat e solicitar ao Copilot que 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
Usar bibliotecas é 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.
De volta à nossa calculadora de fatorial, 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. Se perguntarmos ao Copilot Is there a Python library with a function for calculating a factorial?
, o Copilot nos 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 nos quais o projeto depende para funcionar corretamente e, se não forem cuidadosamente escritos ou mantidos, poderão introduzir vulnerabilidades de segurança no trabalho. A boa notícia é que há algumas etapas que você pode realizar para proteger melhor seu projeto.
Como usar bibliotecas populares
As bibliotecas populares costumam ser 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, experimente pedir ajuda ao Copilot.
Por exemplo, para o módulo math
, podemos solicitar ao Copilot que Find the GitHub repository containing the code for the math module in Python
. O Copilot nos 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
Se 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.
Para ativar os Dependabot alerts, 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 que você tomou medidas para proteger seu trabalho, é preciso importar a biblioteca para o projeto e, em seguida, usar o conteúdo 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ê.
Para nosso programa de fatorial, podemos perguntar ao Copilot algo como How do I use the factorial function of the math module in my Python project?
. Em seguida, 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á reutilizado com sucesso o código de uma biblioteca no seu projeto de exemplo!