27 lines
1.3 KiB
Markdown
27 lines
1.3 KiB
Markdown
# Falhas Comuns e Padroes Corretos
|
|
|
|
## Sintaxe incompativel
|
|
- Troque `let` e `const` por `var`.
|
|
- Nao use template strings, arrow functions, optional chaining ou outros recursos modernos nao suportados.
|
|
- Em comparacoes com objetos Java, prefira `==` e `!=`.
|
|
|
|
## Banco e consultas
|
|
- `db.query(sql, params)` retorna `null` quando nao ha linhas.
|
|
- Se o resultado existir, ele ja possui ao menos um registro e deve ser percorrido com `.each(function (row) { ... })`.
|
|
- Use `db.queryRow` quando a expectativa for uma unica linha.
|
|
- Prefira parametros nomeados e evite concatenar valores diretamente na clausula SQL.
|
|
|
|
## SQL e HTML
|
|
- Monte blocos com concatenacao incremental: `var sql = ""; sql += " SELECT ...";`.
|
|
- Mantenha identacao consistente nos trechos adicionados por concatenacao.
|
|
- Evite blocos gigantes sem helper quando houver repeticao clara de montagem.
|
|
|
|
## Engine e globais
|
|
- Registre globais em `initScript` ou no ponto de bootstrap antes de chama-las em eventos.
|
|
- Use `engine.getField`, `engine.getLabel`, `engine.getWidget` e `execution.getVariable` conforme o contexto do artefato.
|
|
- Nao assuma que uma variavel de processo ja esta populada; valide a origem do dado.
|
|
|
|
## Fontes internas do workspace
|
|
- `Vitruvio/Documentação/eventos-vitruvio.md`
|
|
- `Vitruvio/Documentação/queries-padroes.md`
|
|
- `Vitruvio/Libs/` |