SQL Přehledně zformátovaný kód – Chováme se ke kolegům zodpovědně!

Každý ví, že by to měl dělat, ale málokdo to skutečně dělá. Řeč je formátování kódu a jeho přehlednosti. Zejména ve větších týmech dokážou pravidla ohledně formátování zjednodušit a zefektivnit práci. Mnohdy i o několik desítek procent/mnoho man days v případě revizí/úprav kódu a refaktoringu kódu.

Proč je správně naformátovaný kód důležitý

Každý kód (nejen SQL) je součástí nějakého produktu a jako takový je během svého životního cyklu mnohokrát revidován, upravován a analyzován různými lidmi nebo třeba externími konzultanty.

Je opravdu velmi časově náročně luštit po někom kód, který je napsán způsobem, že se v něm nelze vůbec vyznat – v případě TSQL třeba pokud se jedná o kombinaci strašlivého kódu s provázáním přes více na sobě závislých objektů (např. views).

Často je to dokonce tak náročné, že je jednodušší kód napsat znovu a to mohou být v případě složitějších skritpů i desítky hodin a klidně i člověkodnů.

Takový kód má sníženou hodnotu, protože mu rozumí pouze člověk, který jej napsal a je dost dobře možné, že pokud tomuto člověku ukážete tento kód za rok, tak se v něm nevyzná ani on.

Já osobně píšu kód takovým způsobem, aby po mě byl schopen kód pochopit i juniorní koleega, který nemá znalost daného problému (který kód řeší).

Považuju za velmi nezodpovědné a bezohledné (jak k zaměstnavateli tak ke kolegům), když člověk píše kód způsobem, že mu rozumí pouze on.

Příklad špatně a správně zformátovaného SQL kódu

Příklad špatně zformátovaného kódu uvedu na krátkém SQL skriptu. Představte si, že byste ale měli analyzovat nekolik set řádků takto napsaného kódu navíc přes různé na sobě závislé objekty – views a procedury…to je velký problém.

Špatně napsaný kód SQL

Co je špatně a co by měl správně kód obsahovat?

  1. Jednotlivé atributy SELECT klauzule nejsou na samostatném řádku
  2. Hlavní klauzule by z hlediska přehlednosti neměly být na stejném řádku
  3. Atributy v select a joiny odsazujeme
  4. Aliasy tabulek nepojmenováváme a,b,c,d ale alespon trošku popisně, ne však příliš dlouze
  5. Klauzule, operátory, joiny, funkce píčeme uppercasem
  6. Používáme komentáře – samozřejme v tomto případě jednoduchého dotazu to není nutné, ale pokud skript obsahuje nějakou složitější logiku je více než vhodné tuto transformaci okomentovat.
  7. Já osobně jsem hardcorář a používám striktně i hranaté závorky

Nyní kód přepíšu na formát, který se dá lépe číst

Správně zformátovaný SQL kód

nad pochopením tohoto skriptu stráví člověk méně času než v případě nezformátovaného skriptu a správné zformátování nezabere mnoho času. Pokud se budeme bavit o skriptu o několik řádů složitějším, tak jsou tedy benefity zjevné.

Takže buďme k sobě ohleduplní a pišmě kód tak, aby se v tom vyznala i totální lama.

SQL Přehledně zformátovaný kód – Chováme se ke kolegům zodpovědně!
5 (100%) 3 vote[s]

Jmenuji se Honza Zedníček a nejčastěji se se mnou v civilu můžete potkat v kancelářích Kentico Software v Brně, kde působím jako BI Developer. Částečně pracuji také jako freelancer. Tuto práci dělám pro různé firmy již přes 5 let, ale Kentico je moje srdcovka ♡. Před tím jsem pracoval jako finanční controller třeba v Aero Vodochody a Sberbank nebo jako manažer dluhopisového programu v investiční skupině Unicapital. Po práci si rád zahraju tenis, volejbal, šachy, zajdu do posilovny a rád ochutnávám dobré rumy. Svoje znalosti se snažím zapisovat na tento web - abych je nezapomněl (působením rumu ^^) a sloužily i někomu dalšímu. Nebojte se položit dotaz nebo reagovat do komentáře. Přihlašte se do naší nové Excel facebook skupiny Excel CZ/SK diskuse »

Category: SQL příkazy

About Ing. Jan Zedníček - BI Developer, Finance controller

Jmenuji se Honza Zedníček a nejčastěji se se mnou v civilu můžete potkat v kancelářích Kentico Software v Brně, kde působím jako BI Developer. Částečně pracuji také jako freelancer. Tuto práci dělám pro různé firmy již přes 5 let, ale Kentico je moje srdcovka ♡. Před tím jsem pracoval jako finanční controller třeba v Aero Vodochody a Sberbank nebo jako manažer dluhopisového programu v investiční skupině Unicapital. Po práci si rád zahraju tenis, volejbal, šachy, zajdu do posilovny a rád ochutnávám dobré rumy. Svoje znalosti se snažím zapisovat na tento web - abych je nezapomněl (působením rumu ^^) a sloužily i někomu dalšímu. Nebojte se položit dotaz nebo reagovat do komentáře. Přihlašte se do naší nové Excel facebook skupiny Excel CZ/SK diskuse »

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.