{"meta":{"title":"Refatoração para sustentabilidade ambiental","intro":"Copilot Chat pode sugerir maneiras de tornar o código mais amigável ao meio ambiente.","product":"GitHub Copilot","breadcrumbs":[{"href":"/pt/copilot","title":"GitHub Copilot"},{"href":"/pt/copilot/tutorials","title":"Tutoriais"},{"href":"/pt/copilot/tutorials/copilot-cookbook","title":"Livro de receitas do GitHub Copilot"},{"href":"/pt/copilot/tutorials/copilot-cookbook/refactor-code","title":"Refatorar o código"},{"href":"/pt/copilot/tutorials/copilot-cookbook/refactor-code/refactor-for-sustainability","title":"Refatoração para sustentabilidade"}],"documentType":"article"},"body":"# Refatoração para sustentabilidade ambiental\n\nCopilot Chat pode sugerir maneiras de tornar o código mais amigável ao meio ambiente.\n\nO código que é ineficiente no uso de recursos computacionais pode levar a um maior consumo de energia, o que tem um impacto negativo no ambiente. Exemplos desse código incluem algoritmos com alta complexidade de tempo, uso excessivo de memória e processamento desnecessário.\n\nCopilot Chat pode ajudar a identificar algoritmos ineficientes ou operações com uso intensivo de recursos em seu código que contribuem para um maior consumo de energia. Ao sugerir alternativas mais eficientes, ela pode ajudar a reduzir o impacto ambiental do software.\n\n## Cenário de exemplo\n\nO código Python a seguir lê um arquivo de texto grande e conta o número de linhas. No entanto, ele carrega todo o arquivo na memória, o que pode ser ineficiente para arquivos grandes e levar a um maior consumo de energia. Ele também conta manualmente as linhas em vez de usar funções internas.\n\n```python id=inefficient-code\ndef count_lines(filename):\n    with open(filename, 'r') as f:\n        data = f.read()\n        lines = data.split('\\n')\n        count = 0\n        for line in lines:\n            count += 1\n        return count\n\nprint(count_lines('largefile.txt'))\n```\n\n## Prompt de exemplo\n\nAqui está um exemplo de prompt que você pode usar com Copilot Chat para refatorar o código acima e melhorar a sustentabilidade ambiental:\n\n```copilot copy prompt ref=inefficient-code\nRefactor this code to improve its environmental sustainability by reducing memory usage and computational overhead.\n```\n\n## Resposta de exemplo\n\n> \\[!NOTE]\n> Copilot Chat as respostas são não determinísticas, portanto, você pode obter uma resposta diferente daquela mostrada aqui.\n\nCopilot sugere o uso de uma expressão gerador para ler a linha de arquivo por linha, o que reduz o uso de memória. Ele também usa a função interna `sum` para contar as linhas com mais eficiência.\n\n```python\ndef count_lines(filename):\n    with open(filename, 'r') as f:\n        return sum(1 for _ in f)  # Efficiently counts lines without loading all into memory\n\nprint(count_lines('largefile.txt'))\n```\n\n## Leitura adicional\n\n* [Engenharia de prompts para o GitHub Copilot Chat](/pt/copilot/concepts/prompting/prompt-engineering)\n* [Práticas recomendadas para usar GitHub Copilot](/pt/copilot/get-started/best-practices)"}