Skip to content

Latest commit

 

History

History
166 lines (131 loc) · 4.98 KB

File metadata and controls

166 lines (131 loc) · 4.98 KB

🐍 Projeto de Migração AutoIt → Python

📋 Sobre o Projeto

Este repositório demonstra competências em migração de automações legadas de AutoIt para Python, aplicando boas práticas de desenvolvimento, documentação técnica e arquitetura moderna de software.

🎯 Objetivo

Modernizar scripts de automação desenvolvidos em AutoIt, migrando-os para Python com foco em:

  • ✅ Equivalência funcional
  • ⚡ Melhoria de performance
  • 🔧 Maior manutenibilidade
  • 🛡️ Segurança aprimorada
  • 📚 Documentação completa

🛠️ Tecnologias Utilizadas

Core Python

  • Python 3.9+
  • Virtual environments (venv)
  • Type hints e documentação

Bibliotecas de Automação

  • PyAutoGUI - Automação de interface gráfica
  • Selenium - Automação web
  • subprocess - Execução de comandos do sistema
  • os e sys - Interface com sistema operacional
  • pygetwindow - Manipulação de janelas
  • keyboard e mouse - Controle de periféricos

Ferramentas de Desenvolvimento

  • pytest - Testes automatizados
  • black - Formatação de código
  • flake8 - Linting
  • mypy - Verificação de tipos
  • pre-commit - Hooks de qualidade

📁 Estrutura do Projeto

Autoit-Python/
├── 📂 examples/
│   ├── 📂 autoit_originals/     # Scripts AutoIt originais
│   ├── 📂 python_migrations/    # Versões migradas em Python
│   └── 📂 comparisons/          # Análises comparativas
├── 📂 src/
│   ├── 📂 automation/           # Módulos de automação
│   ├── 📂 utils/               # Utilitários comuns
│   └── 📂 config/              # Configurações
├── 📂 tests/                   # Testes automatizados
├── 📂 docs/                    # Documentação técnica
├── 📂 scripts/                 # Scripts de build e deploy
├── 📂 .github/workflows/       # CI/CD GitHub Actions
├── requirements.txt            # Dependências
├── requirements-dev.txt        # Dependências de desenvolvimento
├── pyproject.toml             # Configuração do projeto
└── README.md                  # Este arquivo

🚀 Quick Start

# Clone o repositório
git clone git@github.com:tiagokf/Autoit-Python.git
cd Autoit-Python

# Criar ambiente virtual
python -m venv venv
.\venv\Scripts\activate  # Windows
# source venv/bin/activate  # Linux/Mac

# Instalar dependências
pip install -r requirements.txt
pip install -r requirements-dev.txt

# Executar testes
pytest

# Executar exemplo de migração
python examples/python_migrations/window_automation.py

📊 Exemplos de Migração

AutoIt Original vs Python Migrado

Aspecto AutoIt Python Melhoria
Linhas de código ~150 ~80 -47%
Tempo de execução 5.2s 2.8s +46%
Manutenibilidade ⭐⭐ ⭐⭐⭐⭐⭐ +150%
Testabilidade Implementado
Documentação Mínima Completa +100%

🧪 Casos de Teste Cobertos

  • ✅ Automação de interface gráfica (Windows Forms, WPF)
  • ✅ Manipulação de arquivos em lote
  • ✅ Integração com APIs REST
  • ✅ Automação de navegadores web
  • ✅ Processamento de dados CSV/Excel
  • ✅ Envio de emails automatizados
  • ✅ Monitoramento de sistemas

📈 Melhorias Implementadas

Arquitetura

  • Separação de responsabilidades
  • Padrão Factory para automações
  • Configuration management
  • Logging estruturado

Qualidade

  • Cobertura de testes > 90%
  • Type hints completos
  • Documentação inline
  • Tratamento robusto de exceções

DevOps

  • Pipeline CI/CD automatizado
  • Testes em múltiplos ambientes Windows
  • Deploy automatizado
  • Monitoramento de qualidade

🤝 Boas Práticas Aplicadas

  • Clean Code: Nomes descritivos, funções pequenas, princípios SOLID
  • Git Flow: Branches organizados, commits semânticos, PRs estruturados
  • Testing: Testes unitários, integração e E2E
  • Documentation: README, docstrings, comentários técnicos
  • Security: Validação de inputs, gestão de credenciais, logs seguros

👨‍💻 Competências Demonstradas

Python Sênior

  • Domínio avançado da linguagem
  • Padrões de design e arquitetura
  • Performance e otimização

Automação

  • Interface gráfica (PyAutoGUI)
  • Web scraping (Selenium)
  • APIs e integrações
  • Processamento em lote

Migração de Código Legado

  • Análise e refatoração
  • Equivalência funcional
  • Modernização incremental
  • Documentação de mudanças

DevOps e Qualidade

  • CI/CD pipelines
  • Testes automatizados
  • Code review
  • Monitoramento

📞 Contato

Tiago Gonçalves


Este projeto foi desenvolvido especificamente para demonstrar competências em migração de AutoIt para Python, seguindo as melhores práticas da indústria.