mirror of
https://github.com/treffynnon/sqlstyle.guide.git
synced 2025-03-09 12:49:51 -05:00
Translating Spaces
Translated: - Line spacing - Indentation - Preferred formalisms
This commit is contained in:
parent
366ac73550
commit
d67bbf968b
1 changed files with 39 additions and 41 deletions
|
@ -182,12 +182,10 @@ naturais da linguagem.
|
||||||
|
|
||||||
#### Espaços
|
#### Espaços
|
||||||
|
|
||||||
Espaços devem ser utilizados para alinhar o código, de forma que as palavras-chaves
|
Espaços devem ser utilizados para alinhar o código, de forma que as palavras-chave
|
||||||
raíz terminem sempre no mesmo limite de caracteres. Isso forma um rio no meio,
|
terminem sempre no mesmo limite de caracteres. Isso forma um rio tipográfico,
|
||||||
tornando fácil para os leitores baterem o olho, visualizar o código e separar as
|
tornando fácil bater olho, visualizar o código e separar as palavras-chave dos
|
||||||
palavras-chave dos detalhes de implementação. Rios são [ruins na tipografia][rivers],
|
detalhes de implementação. Rios são [ruins na tipografia][rivers], mas úteis aqui.
|
||||||
mas úteis aqui.
|
|
||||||
|
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
(SELECT f.species_name,
|
(SELECT f.species_name,
|
||||||
|
@ -209,16 +207,16 @@ mas úteis aqui.
|
||||||
GROUP BY b.species_name, b.observation_date)
|
GROUP BY b.species_name, b.observation_date)
|
||||||
```
|
```
|
||||||
|
|
||||||
Notuqe que o `SELECT`, `FROM`, etc. estão todos a direita, alinhados, enquanto
|
Note que o `SELECT`, `FROM`, etc. estão todos a direita, alinhados, enquanto
|
||||||
os nomes das colunas em si e os detalhes específicos de implementação estão
|
os nomes das colunas em si e os detalhes específicos de implementação estão
|
||||||
alinhados à esquerda.
|
alinhados à esquerda.
|
||||||
|
|
||||||
Although not exhaustive always include spaces:
|
Sempre inclua espaços:
|
||||||
|
|
||||||
* before and after equals (`=`)
|
* antes de depois do símbolo igual (`=`)
|
||||||
* after commas (`,`)
|
* depois de vírgulas (`,`)
|
||||||
* surrounding apostrophes (`'`) where not within parentheses or with a trailing
|
* ao redor de apóstrofes (`'`) caso não estejam entre parênteses, com uma vírgula
|
||||||
comma or semicolon.
|
ou ponto e vírgula.
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
SELECT a.title, a.release_date, a.recording_date
|
SELECT a.title, a.release_date, a.recording_date
|
||||||
|
@ -227,20 +225,20 @@ SELECT a.title, a.release_date, a.recording_date
|
||||||
OR a.title = 'The New Danger';
|
OR a.title = 'The New Danger';
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Line spacing
|
#### Espaçamento de linhas
|
||||||
|
|
||||||
Always include newlines/vertical space:
|
Sempre inclua novas linhas/espaço vertical:
|
||||||
|
|
||||||
* before `AND` or `OR`
|
* antes de `AND` ou `OR`
|
||||||
* after semicolons to separate queries for easier reading
|
* depois de vírgulas, separando as queries para uma leitura mais fácil
|
||||||
* after each keyword definition
|
* depois de cada definição de palavras-chave
|
||||||
* after a comma when separating multiple columns into logical groups
|
* depois de um ponto, quando seperando múltiplas colunas em grupos lógicos
|
||||||
* to separate code into related sections, which helps to ease the readability of
|
* para separar código em seções relacionadas, o que ajuda na legibilidade de
|
||||||
large chunks of code.
|
grandes pedaços de código.
|
||||||
|
|
||||||
Keeping all the keywords aligned to the righthand side and the values left aligned
|
Manter todas as palavras-chave alinhadas ao lado direito e os valores alinhados
|
||||||
creates a uniform gap down the middle of query. It makes it much easier to scan
|
ao lado esquerdo, cria uma lacuna no meio da query. Isso torna muito mais fácil
|
||||||
the query definition over quickly too.
|
e rápido a análise da definição da query.
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
INSERT INTO albums (title, release_date, recording_date)
|
INSERT INTO albums (title, release_date, recording_date)
|
||||||
|
@ -262,15 +260,15 @@ SELECT a.title,
|
||||||
OR a.title = 'The New Danger';
|
OR a.title = 'The New Danger';
|
||||||
```
|
```
|
||||||
|
|
||||||
### Indentation
|
### Indentação
|
||||||
|
|
||||||
To ensure that SQL is readable it is important that standards of indentation
|
Para garantir que o SQL fique legível, é importante que padrões de indentação
|
||||||
are followed.
|
sejam seguidos.
|
||||||
|
|
||||||
#### Joins
|
#### Joins
|
||||||
|
|
||||||
Joins should be indented to the other side of the river and grouped with a new
|
Joins devem ser indentados do outro lado do rio e agrupados com uma nova linha
|
||||||
line where necessary.
|
quando necessário.
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
SELECT r.last_name
|
SELECT r.last_name
|
||||||
|
@ -286,10 +284,10 @@ SELECT r.last_name
|
||||||
|
|
||||||
#### Subqueries
|
#### Subqueries
|
||||||
|
|
||||||
Subqueries should also be aligned to the right side of the river and then laid
|
Subqueries também devem ser alinhadas do lado direito do rio e então seguir o
|
||||||
out using the same style as any other query. Sometimes it will make sense to have
|
mesmo estilo de qualquer outra query. As vezes faz sentido ter o parêntese de
|
||||||
the closing parenthesis on a new line at the same character position as it's
|
fechamento em uma nova linha na mesma posição que o parêntese de abertura foi
|
||||||
opening partner—this is especially true where you have nested subqueries.
|
definido—isso é especialmente importante onde você tem subqueries aninhadas.
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
SELECT r.last_name,
|
SELECT r.last_name,
|
||||||
|
@ -305,16 +303,16 @@ SELECT r.last_name,
|
||||||
AND c.confirmed = 'Y');
|
AND c.confirmed = 'Y');
|
||||||
```
|
```
|
||||||
|
|
||||||
### Preferred formalisms
|
### Formalismos preferidos
|
||||||
|
|
||||||
* Make use of `BETWEEN` where possible instead of combining multiple statements
|
* Faça uso de `BETWEEN` onde possível, ao invés de combinar múltplos `AND`.
|
||||||
with `AND`.
|
* De forma similar, utilize `IN()` ao invés de múltiplas cláusulas `OR`.
|
||||||
* Similarly use `IN()` instead of multiple `OR` clauses.
|
* Onde um valor precisa ser interpretado antes de ser retornado pelo banco de
|
||||||
* Where a value needs to be interpreted before leaving the database use the `CASE`
|
dados, use a expressão `CASE`. Cláusulas `CASE` podem ser aninhadas para formar
|
||||||
expression. `CASE` statements can be nested to form more complex logical structures.
|
estruturas lógicas mais complexas.
|
||||||
* Avoid the use of `UNION` clauses and temporary tables where possible. If the
|
* Evite o uso de cláusulas `UNION` e tabelas temporários quando possível. Se
|
||||||
schema can be optimised to remove the reliance on these features then it most
|
o schema pode ser otimizado, removendo a dependência desses recursos, então
|
||||||
likely should be.
|
é provável que essa otimização deve ser feita.
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
SELECT CASE postcode
|
SELECT CASE postcode
|
||||||
|
|
Loading…
Reference in a new issue