SQL anahtar kelimelerini büyük harf yapmak için hangi iyi nedenler var?


28

Anahtar sözcüklerini büyük harf kullanarak SQL'lerini yazan birçok geliştirici var:

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

İnsanların neden bu yaklaşıma bağlı kaldıklarını merak ediyorum? Açıkçası, bu uzun zamandır kurulmuş bir kongre - ama büyük harf gerektiren bir RDBMS'ye asla girmedim .

Şahsen, sorgunun tam olarak yanlış kısmına dikkat çekmek için GÖNDERİLEN ANAHTAR KELİMELER buluyorum, bu yüzden anahtar kelimeleri küçük harfle yazıyorum.

Yine de, yeterince insan, bir şeyleri özleyebileceğimi düşündüğüm bu sözleşmeyi kullanıyor, bu yüzden bu soru.


3
IDE'niz anahtar kelime metnini farklı bir renkte yapsa bile, anahtar kelimelerin daha fazla öne çıkması çok güzel.
Çörek Adam

3
Bir Dilde Dil sahibi olmakla baş etmenin tek yolu SHOUT, SQL yorumlayıcısındaki komutlardır ...
Ben DeMott

Benim sorum da. +1
Saeed Neamati,

SQL anahtar kelimelerini büyük harflerle anlayabilirim. Tablo bildirimlerinin ve sorgularının çoğu, HERŞEYİ, tablo adlarını ve sütunlarını büyük harf olarak görüyor.
MPelletier

Yanıtlar:


22

Büyük harf kullanımı, sorgu penceresinde bulunan diğer karakterlerin aksine onları ön plana çıkarır.

Bunu yapmamamın nedeni büyük bir zaman kaybı. İki şeyden birini yapabilirsiniz:

1) Kelimeyi yazarken shift tuşunu basılı tutun : yol çok hataya açık ve sadece gelişigüzel.

2) Kelimenin süresi boyunca kapaklar kilitleyin : biraz fazla zaman tüketimi.

SQL Server kullanıyorum ve ortamın (SSMS) çok iyi bir sözdizimi olduğunu vurguluyorum, bu yüzden kişisel olarak anahtar kelime büyük harfinin eskisi kadar yaygın olmadığını düşünüyorum.

Kitaplarda ve çevrimiçi derslerde iyi bir uygulama olsa da, ayrılmış anahtar kelimelerin ne olduğu açıktır. Bu yazılı olmayan şeylerden sadece biri.


20
@ dave ancak uygulama kodundan farklı olarak, SQL komut dosyalarının sözdizimi vurgulamadan bir düzenleyicide görülme olasılığı yüksektir.
Aaron,

8
@ dave: SQL komut dosyaları tamamen kendi kendine yeten ve neredeyse kaçınılmaz bir şekilde e-postayla gönderilir, tekstüre yazılır, denetçilere yazdırılır veya SQL * Plus gibi komut satırı yardımcı programlarına girilir. Bu, çevrenizle ilgili değil, o ortamın dışındaki SQL komut dosyalarının ömrü ile ilgili - uygulama kaynak koduyla gerçekten ilgilenmeyen bir şey çünkü bir derleyici / IDE dışında gerçek bir kullanımı yoktur.
Aaron,

6
SQL ifadeleri sık sık log dosyalarında, hata mesajlarında, XML belgelerinde ve sözdizimi vurgulamasının bir seçenek olmadığı her yerde görünür - bu nedenle okumayı kolaylaştıran herhangi bir format her zaman memnuniyetle karşılanır.
James Anderson

8
-1 eğer vardiyayı basılı tuttuğunuzda ya da kapak kilidine basıyorsanız, o zaman başka sorunlar olduğunu düşünüyorum. Ve tam olarak ne kadar tasarruf ettiğiniz .25 saniyelik bir şeyi gerçekten etkiliyor mu?
TheLQ

2
Sorunuza cevabım başka bir soru: Günlük olarak SQL kodu yazıyor musunuz? Ve bir SQL geliştiricisi /

8

Bu tür büyük harf kullanımı, sorgunun farklı bölümlerini görsel olarak ayırmanın hızlı ve kolay bir yolunu sağlar. Bu, iyi girinti ile birlikte mantığın okunabilirliğine ve anlaşılmasına yardımcı olabilir.

Bunun, standardın nasıl ortaya çıktığı ile ilgisi olup olmadığını, bilmiyorum. Ama bu benim kişisel deneyimim.


7

Eski günlerde, kodları yazdığınızda anahtar kelimeler hiçbir şekilde vurgulanmıyordu, bu yüzden insanların SQL parçaları ile veritabanı nesneleri arasında sorguların farklı kısımlarını ayırt etmelerine yardımcı olma girişimi oldu, başka şeyler de olabilirdi. daha fazla isme sahip olma eğilimindedir ve onları büyük harfle daha fazla acı çeker ve bazı nesne adlandırma kuralları duruma özeldir.

Şahsen, eğer büyük harfle değillerse okuması kadar kolay buluyorum, ancak birçok insan bu şekilde okumak için çok kullanılıyor, eğer büyük harf kullanmıyorsanız, onları atar.


4
Geçenlerde aslında insanlara maruz oldum yapmak kongre ters, nesne adlarını büyük harf ve küçük harflerle anahtar kelimeleri bırakarak; az söylemek, sıkıcı.
Aaron,

6

SQL, maddeye dayalı bir dildir, yaşadığım her şeyden çok daha fazlası. SELECT yan tümcesini, FROM yan tümcesini ve JOIN yan tümcelerini ve WHERE yan tümcesini aldınız. SİPARİŞ İLE, GRUP İLE, vb.

Bu anahtar kelimeleri büyük harfle yazmak, ayrı cümleleri görsel olarak ayırmanıza yardımcı olur. Bu, özellikle bir HTML yorumunda SQL'inizi çıkarıp ardından bir konsola kopyalayıp yapıştırdığınız zor hata ayıklama durumlarından birinde kullanışlıdır. Pis, ama hepimiz oradaydık. Her bir ifadenin nerede başladığını görmek için yardım almanız iyi olur.


2

Şahsen, sorgunun tam olarak yanlış kısmına dikkat çekmek için GÖNDERİLEN ANAHTAR KELİMELER buluyorum, bu yüzden anahtar kelimeleri küçük harfle yazıyorum.

Belirtildiği gibi, eski IDE'lerde, metni ayırt etmek için kasanın dışında başka seçeneğiniz yoktu. İşaret ettiğiniz gibi, anahtar kelimelerin öne çıkması, dikkatinizi olması gerektiği yerden çeker. Mesele şu ki, anahtar kelimeler her zaman büyük harfle yazılmış olabilir, oysa ki diğer şeyler büyük küçük harf duyarlı olan gerçekleri ve tanımlayıcıları içerebilir. Bu, en az direnç göstermenin yolunu, anahtar kelimeleri yalnızca büyük harf olarak kullanmaktır.


-1

Benim durumumda, anahtar kelimeleri, sözdizimi vurgulamadan bağımsız olarak büyük harf yapmayı tercih ediyorum. Uygun bir SQL editörünüz olmadığını ve komut dosyalarınızı Not Defteri veya WordPad'de yazmanız / düzenlemeniz veya açmanız gerektiğini düşünün. Bu editörler vurgulama sözdizimi yok.

Yukarıda anlattığım sebepten dolayı SQL Server'ın sözdizimine dikkat çekmeye çok fazla dikkat etmiyorum, ancak yararlıdır (tüm kodu siyah olarak görmek benim için sıkıcıdır). Anahtar kelimeleri değişkenlerimden, sabitlerimden, adlarımdan, vs.lerden ayırmak için her zaman büyük harf kullandım.


Bu bir yorum olmalıydı, ancak bir tanesini
Adam Zuckerman

Bunu asıl soruda ele aldım - anahtar kelimeler için CAPITALS kullanmak, okuyucuların sorgunun veya ifadenin en az önemli kısmına dikkatini çekiyor .
Bevan,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.