Guia de Boas Práticas - Jogo Unity B.O.S.S
Este guia define padrões, estruturas e práticas recomendadas para garantir a qualidade, organização e consistência no desenvolvimento colaborativo do projeto.
Objetivo
Padronizar e manter a qualidade do código, facilitando a manutenção, testes, documentação e evolução contínua do projeto.
Estrutura de Branches
main: versão estável e pronta para produção.develop: branch de integração das novas funcionalidades.feature/*: desenvolvimento de funcionalidades (feature/menu-inicial).hotfix/*: correções urgentes na produção.release/*: preparação de novas versões estáveis.
Estilo de Código
- Utilize o Visual Studio com
.editorconfigpara padronização automática. - Nomeação:
camelCasepara variáveis e parâmetros.PascalCasepara classes, métodos e propriedades públicas.- Evite métodos longos (mais de 40 linhas). Divida responsabilidades com funções auxiliares.
- Prefira composição a herança sempre que possível.
- Scripts devem ter o mesmo nome da classe principal.
Testes
- Utilize o Unity Test Framework para testes unitários.
- Sempre que adicionar uma nova funcionalidade, inclua testes.
- Nomeie os testes de forma descritiva:
Metodo_DeveFazerAlgo_QuandoCondicao. - Toda PR deve passar nos testes antes de ser mergeada.
- Pipelines de CI com GitHub Actions garantirão builds e testes automatizados.
Versionamento
Seguimos o SemVer:
vMAJOR.MINOR.PATCH (ex: v1.2.0)
MAJOR: mudanças incompatíveis com versões anteriores.MINOR: novas funcionalidades compatíveis.PATCH: correções de bugs.
Deploy Contínuo
- Deploy automático da versão WebGL:
- GitHub Pages
- itch.io
- Releases são tagueadas (
v1.0.0) e registradas noCHANGELOG.md.
Estrutura do Projeto
- Organize os arquivos em pastas por funcionalidade (ex:
Inimigos/,UI/,Player/). - Prefira interfaces para serviços reutilizáveis ou testáveis.
- Separe lógica de negócio da interface sempre que possível.
Documentação
- Comente métodos públicos e funções complexas com XML Documentation (
///). - Documente scripts
MonoBehaviourcom uma breve descrição da sua função. - Mantenha os seguintes arquivos/documentos atualizados:
README.md: instruções de instalação e uso.CONTRIBUTING.md: como contribuir com o projeto.CHANGELOG.md: histórico de versões.docs/*: imagens, diagramas, roadmap e documentação técnica.
Templates
Issues
- Descrição clara do problema
- Critérios de Aceitação
- Requisitos relacionados
- Informações adicionais relevantes
Pull Requests
- Descrição da mudança
- Tipo de mudança:
bug,feature,breaking change,docs - Checklist de qualidade (ex: passou nos testes? atualizou documentação?)
Atas de reunião
Commits e Pull Requests
Padrão de Commits
Formato:
<prefixo>: descrição clara da mudança
| Prefixo | Uso |
|---|---|
feat: |
Nova funcionalidade |
fix: |
Correção de bug |
docs: |
Documentação |
style: |
Formatação (sem mudança lógica) |
refactor: |
Refatoração sem alteração funcional |
test: |
Testes |
chore: |
Infraestrutura / build |
Exemplos:
feat: adicionar sistema de inventário
fix: corrigir colisão com paredes
Boas práticas de PRs
- Descreva claramente o que foi feito
- Inclua screenshots ou GIFs para mudanças visuais
- Relacione a issue correspondente (ex:
Closes #12) - Se houver coautores, utilize o padrão:
Co-authored-by: Nome <email@exemplo.com>
Essas práticas são vivas e podem ser atualizadas conforme a maturidade do projeto.
Histórico de versão
| Data | Versão | Descrição | Autores |
|---|---|---|---|
| 03/07/2025 | 1.0 | Adicionando versão inicial do guia de boas práticas | Júlio Cesar, Maciel Júnior |