Prázdný řádek na konci souboru

Proč by textové soubory měly končit prázdným řádkem.

3 minuty

Je zažitá představa, že by textové soubory měly končit prázdným řádkem.

Asi každý programátor se setkal s tím, že to někomu psal při code review. Nebo to naopak někdo psal jemu.

Má to ale opodstatnění?

Unix standard

Podle POSIX standardu by každý textový soubor měl končit znakem nového řádku. Přesněji řečeno standard definuje, že textový soubor je posloupnost řádků, kde každý řádek končí znakem nového řádku.

Chování v praxi

Situace, kdy by absence prázdného řádku na konci souboru způsobovala reálné problémy, je spíše raritní.

Spojování souborů

Problém může být v tom, že nějaké nástroje mohou počítat s chováním dle standardu, a tak spoléhat na to, že na konci souboru bude prázdný řádek.

Třeba při spojování souborů při nedodržení standardu se může stát, že se řádky slijí dohromady:

soubor1.js

let promenna = 1

soubor2.js

let promenna2 = 2

Výsledkem bude syntaktická chyba:

let promenna = 1let promenna2 = 2

Počet řádků

Podobně může vyjít špatný počet řádků, pokud se budou počítat podle konce řádků, který ale na konci souboru nebude.

Git a versování

Git sám o sobě automaticky nepřidává prázdný řádek na konec souborů, ale zobrazuje varování, když soubor nekončí novým řádkem:

\ No newline at end of file

Pokud někdo na projektu nové řádky na konec dává a někdo ne, zbytečně to způsobuje nerelevantní změny.

Lint

Osobně si myslím, že nemá moc smysl řešit ručně code style. Takže je určitě vhodné mít na projektu např. Prettier, který konsistenci zajistí.

Tolerance

Při programování doporučuji nebýt naivní a počítat při práci s konci řádků s oběma variantami. Tj. počítat s tím, že prázdný řádek existovat může a nemusí.

Většinou se to řeší tak, že se stejně používá nějaká funkce trim.

Odkazy jinam

Co si myslíte o tomto článku?

Diskuse

Související články

Vibe Kanban – orchestrace AI agentů pro vývojáře

Vibe Kanban je open-source nástroj pro řízení více AI kódovacích agentů paralelně. Kanban board, isolované git worktrees a code review na jednom místě.

6 minut

Redesign webu pomocí AI

Jak udělat redesign webu za jeden den. Stačí AI nástroj, Git a Vercel.

8 minut

Programování ve VR – monitor nahradí brýle

Jak vypadá programování ve virtuální realitě? Přehled nástrojů, výhod a omezení práce s kódem ve VR headsetech místo klasického monitoru.

9 minut

Proč USB-C kabel nefunguje

Proč USB-C kabel nenabíjí notebook nebo nepřenáší data? Vysvětlení rozdílů mezi kabely, jak poznat kvalitní kabel a jaký USB-C kabel koupit.

13 minut

Novinky e-mailem

Když budu mít něco opravdu zajímavého, můžu vám to poslat e-mailem

Přidej se k 500+ čtenářům
Jen kvalitní obsah
Žádný spam

Web jecas.cz píše Bohumil Jahoda, kontakt
Seznam všech článků · Témata · Zkratky
2013–2026