Skip to main content

Como reutilizar o código de outras pessoas nos seus projetos

Aumente sua eficiência em codificação e seus conhecimentos integrando o código existente aos seus projetos.

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.

Captura de tela do botão do Copilot, contornado em laranja-escuro, na parte superior da exibição do arquivo.

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.

Captura de tela da página principal do repositório devwithdocs/python-factorial. Na barra lateral direita, a opção “MIT license” está contornada em laranja-escuro.

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:

Python
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:

Python
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:

Python
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.

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.

Captura de tela da página “Security” de um repositório. A guia “Security”, a guia “Dependabot” e o botão “Enable Dependabot alerts” estão todos contornados em laranja-escuro.

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:

Python
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!