// DOCS NAVIGATION
Convenções e Boas Práticas_
SOURCE: content/docs/reference/01-introducao.md — 01 Introdução / 8. Convenções e Boas Práticas / Conventions & Best Practices
Nomenclatura / Naming Conventions
PT-BR:
| Construto / Construct | Convenção / Convention | Exemplo / Example |
|---|---|---|
| Variáveis / Variables | snake_case | minha_variavel, contador |
| Funções / Functions | snake_case | calcular_area, obter_nome |
| Structs | PascalCase | Ponto, RetanguloColorido |
| Enums | PascalCase | Cor, EstadoConexao |
| Variantes de Enum / Enum Variants | PascalCase | Vermelho, Conectado |
| Módulos / Modules | snake_case com pontos | app.controladores |
| Constantes / Constants | SCREAMING_SNAKE_CASE | MAX_SIZE, PI |
| Parâmetros de Tipo / Type Params | PascalCase curto | T, E, Chave, Valor |
EN-US:
| Construct | Convention | Example |
|---|---|---|
| Variables | snake_case | my_variable, counter |
| Functions | snake_case | calculate_area, get_name |
| Structs | PascalCase | Point, ColoredRectangle |
| Enums | PascalCase | Color, ConnectionState |
| Enum Variants | PascalCase | Red, Connected |
| Modules | snake_case with dots | app.controllers |
| Constants | SCREAMING_SNAKE_CASE | MAX_SIZE, PI |
| Type Parameters | Short PascalCase | T, E, Key, Value |
Organização de Arquivos / File Organization
projeto/ # Raiz do projeto / Project root
├── Spectra.toml # Manifesto do projeto / Project manifest
├── src/
│ ├── main.spectra # module main / public func main() returns int { ... }
│ ├── utils.spectra # module utils
│ └── modelos/
│ ├── usuario.spectra # module modelos.usuario
│ └── produto.spectra # module modelos.produto
└── tests/
└── testes.spectra # module tests
Formatação / Formatting
PT-BR:
Use spectralang fmt para formatar automaticamente. As regras padrão são:
EN-US:
Use spectralang fmt to format automatically. The default rules are:
- Indentação / Indentation: 4 espaços / 4 spaces
- Comprimento máximo de linha / Max line length: 100 caracteres / characters
- Espaçamento em operadores / Operator spacing:
a + b(nãoa+b) - Chaves / Braces: Abre na mesma linha / Opens on same line:
func foo() {
Próximo / Next: 02 — Fundamentos / Fundamentals