Neste exercício, iremos explorar a evolução de código em sistemas reais.
Iremos utilizar a ferramenta GitEvo. Essa ferramenta analisa a evolução de código em repositórios Git nas seguintes linguagens: Python, JavaScript, TypeScript e Java.
Você deve submeter via Moodle apenas o link do seu fork, conforme descrito abaixo.
Selecione um repositório relevante na linguagem de sua preferência (Python, JavaScript, TypeScript ou Java). Você pode encontrar projetos interessantes nos links abaixo:
- Python: https://github.com/topics/python?l=python
- JavaScript: https://github.com/topics/javascript?l=javascript
- TypeScript: https://github.com/topics/typescript?l=typescript
- Java: https://github.com/topics/java?l=java
Instale a ferramenta GitEvo com o comando:
pip install gitevo
Rode a ferramenta no repositório selecionado através do seguinte comando (dependendo da linguagem do projeto que escolheu):
# Python
$ gitevo -r python <git_url>
# JavaScript
$ gitevo -r js <git_url>
# TypeScript
$ gitevo -r ts <git_url>
# Java
$ gitevo -r java <git_url>Onde <git_url> é URL do repositório a ser analisado.
Por exemplo, para analisar o projeto Flask escrito em Python:
$ gitevo -r python https://github.com/pallets/flask
Ao rodar a ferramenta GitEvo, o arquivo index.html é gerado com diversos gráficos de evolução de código.
Abra o arquivo index.html e observe com atenção os gráficos gerados.
Selecione um dos gráficos de evolução e explique-o com suas palavras. Por exemplo, você pode:
- Detalhar a evolução ao longo do tempo,
- Detalhar se as curvas estão de acordo com boas práticas,
- Explicar grandes alterações nas curvas,
- Explorar a documentação do repositório em busca de explicações para grandes alterações
- Etc.
Seja criativo!
-
Repositório selecionado: https://github.com/pandas-dev/pandas
-
Gráfico selecionado: Lines of code (LOC)
-
Explicação: O gráfico “Lines of code (LOC)” mostra a evolução do número total de linhas de código no repositório pandas entre os anos de 2020 e 2025. Observa-se um crescimento contínuo de 423.350 LOC em 2020 para 625.991 LOC em 2024, o que indica um período de desenvolvimento ativo e expansão do projeto. No entanto, em 2025, há uma leve redução para 623.435 LOC. Essa pequena queda pode estar relacionada à remoção de código obsoleto, à refatoração de trechos redundantes ou à reestruturação interna, o que é comum em projetos maduros que buscam melhorar a qualidade e a manutenibilidade do código. A curva, de modo geral, segue um padrão compatível com boas práticas de engenharia de software, alternando entre expansão e consolidação do código.