{"id":28344459,"url":"https://github.com/andrehora/exploring-code-evolution","last_synced_at":"2026-02-12T03:43:04.609Z","repository":{"id":289538592,"uuid":"971593074","full_name":"andrehora/exploring-code-evolution","owner":"andrehora","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-24T23:11:03.000Z","size":31,"stargazers_count":1,"open_issues_count":0,"forks_count":47,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-03T18:59:29.137Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andrehora.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-23T18:55:51.000Z","updated_at":"2025-04-24T23:12:46.000Z","dependencies_parsed_at":"2025-04-23T20:34:27.216Z","dependency_job_id":null,"html_url":"https://github.com/andrehora/exploring-code-evolution","commit_stats":null,"previous_names":["andrehora/exploring-code-evolution"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrehora%2Fexploring-code-evolution","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrehora%2Fexploring-code-evolution/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrehora%2Fexploring-code-evolution/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrehora%2Fexploring-code-evolution/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrehora","download_url":"https://codeload.github.com/andrehora/exploring-code-evolution/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrehora%2Fexploring-code-evolution/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259072778,"owners_count":22801077,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-27T10:21:01.528Z","updated_at":"2026-02-12T03:42:59.581Z","avatar_url":"https://github.com/andrehora.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Explorando evolução de código\n\nNeste exercício, iremos explorar a evolução de código em sistemas reais.\n\nIremos utilizar a ferramenta [GitEvo](https://github.com/andrehora/gitevo).\nEssa ferramenta analisa a evolução de código em repositórios Git nas linguagens Python, JavaScript, TypeScript e Java, e gera relatórios `HTML` como [este](https://andrehora.github.io/gitevo-examples/python/pandas.html).\n\nMais exemplos de relatórios podem ser podem ser encontrados em https://github.com/andrehora/gitevo-examples.\n\n# Passo 1: Selecionar repositório a ser analisado\n\nSelecione um repositório relevante na linguagem de sua preferência (Python, JavaScript, TypeScript ou Java).\nVocê pode encontrar projetos interessantes nos links abaixo:\n\n- Python: https://github.com/topics/python?l=python\n- JavaScript: https://github.com/topics/javascript?l=javascript\n- TypeScript: https://github.com/topics/typescript?l=typescript\n- Java: https://github.com/topics/java?l=java\n\n# Passo 2: Instalar e rodar a ferramenta GitEvo\n\n\u003e [!NOTE]\n\u003e Antes de instalar a ferramenta, é recomendado criar e ativar um [ambiente virtual Python](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/#create-and-use-virtual-environments).\n\nInstale a ferramenta [GitEvo](https://github.com/andrehora/gitevo) com o comando:\n\n```\n$ pip install gitevo\n```\n\nExecute a ferramenta no repositório selecionado utilizando o comando abaixo (ajuste conforme a linguagem do repositório).\nSubstitua `\u003cgit_url\u003e` pela URL do repositório que será analisado:\n\n```shell\n# Python\n$ gitevo -r python \u003cgit_url\u003e\n\n# JavaScript\n$ gitevo -r javascript \u003cgit_url\u003e\n\n# TypeScript\n$ gitevo -r typescript \u003cgit_url\u003e\n\n# Java\n$ gitevo -r java \u003cgit_url\u003e\n```\n\nPor exemplo, para analisar o projeto Flask escrito em Python:\n\n```\n$ gitevo -r python https://github.com/pallets/flask\n```\n\n\u003e [!NOTE]\n\u003e Essa etapa pode demorar alguns minutos pois o projeto será clonado e analisado localmente.\n\n# Passo 3: Explorar o relatório de evolução de código\n\nApós executar a ferramenta [GitEvo](https://github.com/andrehora/gitevo), é gerado um relatório `HTML` contendo diversos gráficos sobre a evolução do código.\n\nAbra o relatório `HTML` e observe com atenção os gráficos.\n\n# Passo 4: Explicar um gráfico de evolução de código\n\nSelecione um dos gráficos de evolução e explique-o com suas palavras.\nPor exemplo, você pode:\n\n- Detalhar a evolução ao longo do tempo\n- Detalhar se as curvas estão de acordo com boas práticas\n- Explicar grandes alterações nas curvas\n- Explorar a documentação do repositório em busca de explicações para grandes alterações\n- etc.\n\nSeja criativo!\n\n# Instruções para o exercício\n\n1. Crie um `fork` deste repositório (mais informações sobre forks [aqui](https://docs.github.com/pt/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo)).\n2. Adicione o relatório `HTML` no seu fork.\n3. No Moodle, submeta apenas a URL do seu `fork`.\n\nResponda às questões abaixo diretamente neste arquivo `README.md` do seu fork:\n\n1. Repositório selecionado: \u003cURL_DO_REPOSITORIO_SELECIONADO_AQUI\u003e\n2. Gráfico selecionado: \u003cIMAGEM_DO_GRAFICO_SELECIONADO_AQUI\u003e\n3. Explicação: \u003cEXPLICACAO_AQUI\u003e\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrehora%2Fexploring-code-evolution","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrehora%2Fexploring-code-evolution","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrehora%2Fexploring-code-evolution/lists"}