
Prázdný řádek na konci souboru
Proč by textové soubory měly končit prázdným řádkem.
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ě.
Redesign webu pomocí AI
Jak udělat redesign webu za jeden den. Stačí AI nástroj, Git a Vercel.
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.
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.