Este repositório contém exemplos de códigos complexos em diferentes linguagens de programação. Esses códigos foram criados para ajudar desenvolvedores a praticar a análise de código, identificar bugs, melhorar a performance, aplicar boas práticas de programação e realizar refatorações.
Cada arquivo de código está associado a um prompt específico que pode ser usado para guiar a análise e refatoração.
1-analise-codigo-legado.py
: Análise de código legado.2-explicacao-algoritmo.py
: Explicação de algoritmo.3-identificacao-debito-tecnico.java
: Identificação de débito técnico.4-refatoracao-padroes-de-projeto.py
: Refatoração para padrões de projeto.5-documentacao-comentarios.js
: Documentação e comentários.6-analise-performance.py
: Análise de performance.7-identificacao-bugs.cs
: Identificação de bugs em projeto de loja virtual.8-melhoria-testabilidade.py
: Melhoria de testabilidade.9-simplificacao-logica-complexa.js
: Simplificação de lógica complexa.10-modernizacao-codigo.js
: Modernização de código.
Arquivo: 1-analise-codigo-legado.py
Prompt:
Dado o seguinte trecho de código legado, me ajude a entender sua funcionalidade e identifique áreas que podem ser simplificadas ou otimizadas. Além disso, sugira boas práticas de refatoração para melhorar a legibilidade e manutenção do código.
Arquivo: 2-explicacao-algoritmo.py
Prompt:
Explique detalhadamente o algoritmo implementado neste código. Quais são as principais etapas do processamento? Quais são as entradas e saídas esperadas? Existe alguma complexidade ou caso de borda que precisa ser considerado?
Arquivo: 3-identificacao-debito-tecnico.java
Prompt:
Analise o seguinte código e identifique possíveis pontos de débito técnico. Como esses pontos podem impactar a escalabilidade e a manutenção do sistema no longo prazo? Que refatorações ou mudanças arquiteturais podem ser feitas para reduzir esse débito?
Arquivo: 4-refatoracao-padroes-de-projeto.py
Prompt:
Este código parece estar implementando uma lógica que poderia se beneficiar de padrões de design conhecidos. Com base no padrão X (por exemplo, Strategy, Observer, Factory), como você refatoraria este código para torná-lo mais flexível e desacoplado?
Arquivo: 5-documentacao-comentarios.js
Prompt:
Me ajude a criar uma documentação eficaz para o código a seguir, focando em explicar as principais responsabilidades de cada classe/método. Como posso adicionar comentários que realmente ajudem outros desenvolvedores a entender o código sem sobrecarregá-lo com informações redundantes?
Arquivo: 6-analise-performance.py
Prompt:
Revise o seguinte código com foco na performance. Existem áreas onde a eficiência pode ser melhorada? Como posso medir e comparar o desempenho atual com as versões refatoradas?
Arquivo: 7-identificacao-bugs.cs
Prompt:
Examine este código em busca de possíveis bugs, considerando casos de borda e falhas em condições inesperadas. Como você testaria essas hipóteses e corrigiria os problemas identificados?
Arquivo: 8-melhoria-testabilidade.py
Prompt:
Avalie o código a seguir em termos de testabilidade. Existem dependências ou acoplamentos que dificultam a criação de testes unitários ou de integração? Como refatorar o código para facilitar o teste e aumentar a cobertura de testes automatizados?
Arquivo: 9-simplificacao-logica-complexa.js
Prompt:
Este código contém uma lógica complexa que é difícil de seguir e entender. Como você abordaria a simplificação dessa lógica, possivelmente dividindo-a em funções menores ou utilizando estruturas de controle mais claras?
Arquivo: 10-modernizacao-codigo.js
Prompt:
Esse código foi escrito em uma versão anterior da linguagem/tecnologia e pode se beneficiar de novas funcionalidades ou práticas. Como você modernizaria esse código, aproveitando as últimas versões da linguagem/tecnologia?
Sinta-se à vontade para contribuir com melhorias nos códigos ou adicionar novos exemplos que possam ajudar a comunidade de desenvolvedores a aprimorar suas habilidades de análise e refatoração.
Este repositório é licenciado sob a Licença MIT.