Quali buoni motivi ci sono per capitalizzare le parole chiave SQL?

28

Sembra che ci siano molti sviluppatori che scrivono il loro SQL capitalizzando le parole chiave:

SELECT column
FROM table
     INNER JOIN table
     ON condition
WHERE condition
GROUP BY clause
HAVING condition

Mi chiedo perché le persone si attengono a questo approccio? Chiaramente, è una convenzione consolidata da tempo - ma non ho mai incontrato un RDBMS che richiede maiuscole.

Personalmente, trovo le PAROLE CHIAVE CHE DEVONO richiamare l'attenzione su esattamente la parte sbagliata della query, motivo per cui scrivo le parole chiave in lettere minuscole.

Tuttavia, un numero sufficiente di persone usa questa convenzione per capire che potrebbe mancare qualcosa, quindi questa domanda.

    
posta Bevan 15.08.2011 - 23:48
fonte

6 risposte

22

Le lettere maiuscole li distinguono, al contrario degli altri caratteri presenti nella finestra della query.

La ragione per cui non lo faccio è un enorme perdita di tempo. Puoi fare una delle due cose:

1) Tieni premuto il tasto Maiusc durante l'inserimento della parola : troppo incline agli errori e solo casuale.

2) Metti il blocco maiuscole per la durata della parola : un po 'troppo consumo di tempo.

Uso SQL Server, e l'ambiente (SSMS) ha una marcata evidenziazione della sintassi, quindi non credo che la capitalizzazione delle parole chiave sia prevalente in questi giorni come in passato (se non del tutto).

Tuttavia, è una buona pratica nei libri e nei tutorial online, quindi è evidente quali sono le parole chiave riservate. È solo una di quelle cose non scritte.

    
risposta data 15.08.2011 - 23:53
fonte
8

Trovo che questo tipo di capitalizzazione fornisca un modo rapido e semplice per suddividere visivamente le diverse parti della query. Questo combinato con una buona indentazione può aiutare la leggibilità e la comprensione della logica.

Che non abbia qualcosa a che vedere con lo standard, non lo so. Ma questa è la mia esperienza personale.

    
risposta data 15.08.2011 - 23:53
fonte
7

Fin dai tempi antichi, le parole chiave non venivano evidenziate in alcun modo quando scrivevi il codice, quindi era un tentativo di aiutare le persone a distinguere tra le parti SQL e le parti degli oggetti del database delle query, avrebbe potuto passare all'altro ma gli oggetti tendono ad avere nomi più lunghi che li rendono più difficili da capitalizzare e alcune convenzioni di denominazione degli oggetti erano specifiche del caso.

Personalmente lo trovo altrettanto facile da leggere se non sono maiuscole, ma molte persone sono così abituate a leggerle in quel modo, le butta via se non si fa maiuscola.

    
risposta data 16.08.2011 - 00:01
fonte
6

SQL è un linguaggio orientato alle clausole, molto più di ogni altra cosa che ho sperimentato. Hai la tua clausola SELECT, la tua clausola FROM, la tua clausola JOIN e la tua clausola WHERE. ORDINA PER, GROUP BY, ecc. Ecc.

La capitalizzazione di tali parole chiave ti aiuta a separare visivamente le clausole separate. Ciò è particolarmente utile quando ci si trova in una di quelle complicate situazioni di debug in cui si sta eseguendo l'output di SQL in un commento HTML, quindi si esegue il copia-incolla in una console. Cattivo, ma siamo stati tutti lì. È utile avere un po 'di aiuto per vedere dove inizia ogni parte della dichiarazione.

    
risposta data 16.08.2011 - 15:27
fonte
2

Personally, I find KEYWORDS THAT SHOUT to be calling attention to exactly the wrong part of the query, which is why I write the keywords in lowercase.

Come è stato sottolineato, con i vecchi IDE non avevi molte opzioni oltre al case per differenziare il testo. Come fai notare, far risaltare le parole chiave distoglie l'attenzione da dove dovrebbe essere. Il problema è che sai che le parole chiave possono sempre essere in maiuscolo, mentre le altre cose possono contenere letterali e identificatori che fanno distinzione tra maiuscole e minuscole. Ciò ha portato al percorso di minore resistenza consistente nel capitalizzare le parole chiave.

    
risposta data 16.08.2011 - 17:34
fonte
-1

Nel mio caso, preferisco rendere maiuscole le parole chiave, indipendentemente dall'evidenziazione della sintassi. Immagina di non avere un vero editore SQL ed è necessario scrivere / modificare o aprire gli script in Blocco note o WordPad. Questi editor non hanno un'evidenziazione della sintassi.

Non prendo molta attenzione all'evidenziazione della sintassi di SQL Server per la stessa ragione per cui ho descritto sopra, ma è utile (è annoiato per me vedere tutto il codice in nero). Ho sempre usato lettere maiuscole per distinguere le parole chiave dalle mie variabili, costanti, nomi, eccetera.

    
risposta data 03.08.2016 - 04:11
fonte

Leggi altre domande sui tag