Code Reviewer
Ferramentas automatizadas de revisão de código para analisar pull requests, detectar problemas de qualidade de código e gerar relatórios de revisão.
Sumário
Ferramentas
PR Analyzer
Analisa o git diff entre branches para avaliar a complexidade de revisão e identificar riscos.
# Analisar branch atual contra main
python scripts/pr_analyzer.py /path/to/repo
# Comparar branches específicas
python scripts/pr_analyzer.py . --base main --head feature-branch
# Saída JSON para integração
python scripts/pr_analyzer.py /path/to/repo --json
O que detecta:
- Segredos hardcoded (senhas, chaves de API, tokens)
- Padrões de injeção SQL (concatenação de strings em consultas)
- Statements de depuração (debugger, console.log)
- Desabilitação de regras ESLint
- Tipos
any do TypeScript
- Comentários TODO/FIXME
A saída inclui:
- Pontuação de complexidade (1-10)
- Categorização de risco (crítico, alto, médio, baixo)
- Priorização de arquivos para ordem de revisão
- Validação de mensagem de commit
Code Quality Checker
Analisa código-fonte para problemas estruturais, code smells e violações SOLID.
# Analisar um diretório
python scripts/code_quality_checker.py /path/to/code
# Analisar linguagem específica
python scripts/code_quality_checker.py . --language python
# Saída JSON
python scripts/code_quality_checker.py /path/to/code --json
O que detecta:
- Funções longas (>50 linhas)
- Arquivos grandes (>500 linhas)
- God classes (>20 métodos)
- Aninhamento profundo (>4 níveis)
- Muitos parâmetros (>5)
- Alta complexidade ciclomática
- Tratamento de erro ausente
- Importações não utilizadas
- Números mágicos
Limites:
| Problema |
Limite |
| Função longa |
>50 linhas |
| Arquivo grande |
>500 linhas |
| God class |
>20 métodos |
| Muitos parâmetros |
>5 |
| Aninhamento profundo |
>4 níveis |
| Alta complexidade |
>10 branches |
Gerador de Relatório de Revisão
Combina análise de PR e resultados de qualidade de código em relatórios de revisão estruturados.
# Gerar relatório para repositório atual
python scripts/review_report_generator.py /path/to/repo
# Saída em Markdown
python scripts/review_report_generator.py . --format markdown --output review.md
# Usar análises pré-computadas
python scripts/review_report_generator.py . \
--pr-analysis pr_results.json \
--quality-analysis quality_results.json
O relatório inclui:
- Veredicto de revisão (aprovar, solicitar mudanças, bloquear)
- Pontuação (0-100)
- Itens de ação priorizados
- Resumo de problemas por severidade
- Ordem de revisão sugerida
Veredictos:
| Pontuação |
Veredicto |
| 90+ sem problemas altos |
Aprovar |
| 75+ com ≤2 problemas altos |
Aprovar com sugestões |
| 50-74 |
Solicitar mudanças |
| <50 ou problemas críticos |
Bloquear |
Guias de Referência
Lista de Verificação de Revisão de Código
references/code_review_checklist.md
Listas de verificação sistemáticas cobrindo:
- Verificações pré-revisão (build, testes, higiene do PR)
- Correção (lógica, tratamento de dados, tratamento de erros)
- Segurança (validação de entrada, prevenção de injeção)
- Desempenho (eficiência, cache, escalabilidade)
- Manutenibilidade (qualidade de código, nomenclatura, estrutura)
- Testes (cobertura, qualidade, mocking)
- Verificações específicas por linguagem
Padrões de Código
references/coding_standards.md
Padrões específicos por linguagem para:
- TypeScript (anotações de tipo, segurança de null, async/await)
- JavaScript (declarações, padrões, módulos)
- Python (type hints, exceções, design de classes)
- Go (tratamento de erros, structs, concorrência)
- Swift (opcionais, protocolos, erros)
- Kotlin (segurança de null, data classes, coroutines)
Anti-Padrões Comuns
references/common_antipatterns.md
Catálogo de anti-padrões com exemplos e correções:
- Estruturais (god class, método longo, aninhamento profundo)
- Lógicos (boolean blindness, código stringly typed)
- Segurança (injeção SQL, credenciais hardcoded)
- Desempenho (queries N+1, coleções ilimitadas)
- Testes (duplicação, testar implementação)
- Async (floating promises, callback hell)
Linguagens Suportadas
| Linguagem |
Extensões |
| Python |
.py |
| TypeScript |
.ts, .tsx |
| JavaScript |
.js, .jsx, .mjs |
| Go |
.go |
| Swift |
.swift |
| Kotlin |
.kt, .kts |
1---2name: code-reviewer3description: Automação de revisão de código para TypeScript, JavaScript, Python, Go, Swift, Kotlin. Analisa PRs quanto a complexidade e risco, verifica qualidade de código para violações SOLID e code smells, gera relatórios de revisão. Use ao revisar pull requests, analisar qualidade de código, identificar problemas ou gerar checklists de revisão.4---56# Code Reviewer78Ferramentas automatizadas de revisão de código para analisar pull requests, detectar problemas de qualidade de código e gerar relatórios de revisão.910---1112## Sumário1314- [Ferramentas](#ferramentas)15 - [PR Analyzer](#pr-analyzer)16 - [Code Quality Checker](#code-quality-checker)17 - [Gerador de Relatório de Revisão](#gerador-de-relatório-de-revisão)18- [Guias de Referência](#guias-de-referência)19- [Linguagens Suportadas](#linguagens-suportadas)2021---2223## Ferramentas2425### PR Analyzer2627Analisa o git diff entre branches para avaliar a complexidade de revisão e identificar riscos.2829```bash30# Analisar branch atual contra main31python scripts/pr_analyzer.py /path/to/repo3233# Comparar branches específicas34python scripts/pr_analyzer.py . --base main --head feature-branch3536# Saída JSON para integração37python scripts/pr_analyzer.py /path/to/repo --json38```3940**O que detecta:**41- Segredos hardcoded (senhas, chaves de API, tokens)42- Padrões de injeção SQL (concatenação de strings em consultas)43- Statements de depuração (debugger, console.log)44- Desabilitação de regras ESLint45- Tipos `any` do TypeScript46- Comentários TODO/FIXME4748**A saída inclui:**49- Pontuação de complexidade (1-10)50- Categorização de risco (crítico, alto, médio, baixo)51- Priorização de arquivos para ordem de revisão52- Validação de mensagem de commit5354---5556### Code Quality Checker5758Analisa código-fonte para problemas estruturais, code smells e violações SOLID.5960```bash61# Analisar um diretório62python scripts/code_quality_checker.py /path/to/code6364# Analisar linguagem específica65python scripts/code_quality_checker.py . --language python6667# Saída JSON68python scripts/code_quality_checker.py /path/to/code --json69```7071**O que detecta:**72- Funções longas (>50 linhas)73- Arquivos grandes (>500 linhas)74- God classes (>20 métodos)75- Aninhamento profundo (>4 níveis)76- Muitos parâmetros (>5)77- Alta complexidade ciclomática78- Tratamento de erro ausente79- Importações não utilizadas80- Números mágicos8182**Limites:**8384| Problema | Limite |85|-------|-----------|86| Função longa | >50 linhas |87| Arquivo grande | >500 linhas |88| God class | >20 métodos |89| Muitos parâmetros | >5 |90| Aninhamento profundo | >4 níveis |91| Alta complexidade | >10 branches |9293---9495### Gerador de Relatório de Revisão9697Combina análise de PR e resultados de qualidade de código em relatórios de revisão estruturados.9899```bash100# Gerar relatório para repositório atual101python scripts/review_report_generator.py /path/to/repo102103# Saída em Markdown104python scripts/review_report_generator.py . --format markdown --output review.md105106# Usar análises pré-computadas107python scripts/review_report_generator.py . \108 --pr-analysis pr_results.json \109 --quality-analysis quality_results.json110```111112**O relatório inclui:**113- Veredicto de revisão (aprovar, solicitar mudanças, bloquear)114- Pontuação (0-100)115- Itens de ação priorizados116- Resumo de problemas por severidade117- Ordem de revisão sugerida118119**Veredictos:**120121| Pontuação | Veredicto |122|-------|---------|123| 90+ sem problemas altos | Aprovar |124| 75+ com ≤2 problemas altos | Aprovar com sugestões |125| 50-74 | Solicitar mudanças |126| <50 ou problemas críticos | Bloquear |127128---129130## Guias de Referência131132### Lista de Verificação de Revisão de Código133`references/code_review_checklist.md`134135Listas de verificação sistemáticas cobrindo:136- Verificações pré-revisão (build, testes, higiene do PR)137- Correção (lógica, tratamento de dados, tratamento de erros)138- Segurança (validação de entrada, prevenção de injeção)139- Desempenho (eficiência, cache, escalabilidade)140- Manutenibilidade (qualidade de código, nomenclatura, estrutura)141- Testes (cobertura, qualidade, mocking)142- Verificações específicas por linguagem143144### Padrões de Código145`references/coding_standards.md`146147Padrões específicos por linguagem para:148- TypeScript (anotações de tipo, segurança de null, async/await)149- JavaScript (declarações, padrões, módulos)150- Python (type hints, exceções, design de classes)151- Go (tratamento de erros, structs, concorrência)152- Swift (opcionais, protocolos, erros)153- Kotlin (segurança de null, data classes, coroutines)154155### Anti-Padrões Comuns156`references/common_antipatterns.md`157158Catálogo de anti-padrões com exemplos e correções:159- Estruturais (god class, método longo, aninhamento profundo)160- Lógicos (boolean blindness, código stringly typed)161- Segurança (injeção SQL, credenciais hardcoded)162- Desempenho (queries N+1, coleções ilimitadas)163- Testes (duplicação, testar implementação)164- Async (floating promises, callback hell)165166---167168## Linguagens Suportadas169170| Linguagem | Extensões |171|----------|------------|172| Python | `.py` |173| TypeScript | `.ts`, `.tsx` |174| JavaScript | `.js`, `.jsx`, `.mjs` |175| Go | `.go` |176| Swift | `.swift` |177| Kotlin | `.kt`, `.kts` |