Slovník pojmů

Zdrojový kód

Zdrojový kód je textový zápis programu, který lidé čtou, mění, kontrolují a testují. Není automaticky totéž co repozitář, konfigurace, binární soubor nebo vygenerovaný build.

Stručná definice

Čitelný vstup pro program a pro tým.

Programovací jazyk určuje, jak mohou vypadat instrukce, deklarace, typy, funkce nebo třídy; tato pravidla popisuje jeho syntaxe. Zdrojový kód se obvykle dělí do textových souborů podle odpovědností projektu a vedle aplikačního kódu zahrnuje i testy.

Interpreter může zdrojový kód vykonávat přímo, kompilátor z něj může vytvořit jinou podobu určenou pro běh nebo distribuci. Hranice není ve všech jazycích ostrá: nástroje mohou vytvářet mezikód, cache i build artefakty. Základní rozdíl zůstává: zdroj je upravitelný vstup, nikoli hotový spustitelný program či binární soubor.

Jaký problém řeší

Umožňuje programu i lidem sdílet přesné chování.

Dobře organizovaný zdrojový kód dovoluje změny diskutovat, revidovat, automaticky ověřovat a vracet se k historii v Gitu. Repozitář pak obvykle drží kód, historii změn, vybranou konfiguraci a pravidla spolupráce; není jen synonymem pro samotný kód.

  • vyjádření pravidel aplikace, datových transformací a uživatelského rozhraní
  • automatizované testy a statické kontroly nad stejnou změnou
  • code review a dohledání důvodu změny v historii
  • sestavení nebo nasazení artefaktu z ověřeného vstupu

Praktický příklad

Co v PHP projektu zdrojový kód je a co s ním jen souvisí

Všechny uvedené soubory mohou být důležité pro projekt, ale nemají stejnou roli. Třída ve src/ a test ve tests/ jsou programový zdroj. Migrace popisuje verzovanou změnu dat. composer.json je konfigurace závislostí; composer.lock zachycuje jejich konkrétně vyřešené verze. Vygenerovaný JavaScript v public/build/ je artefakt určený pro prohlížeč.

Adresář vendor/ obsahuje nainstalovaný kód jiných balíčků spravovaných například přes Composer. Obvykle jej ručně neupravujeme jako vlastní zdroj. To, co se verzují a generuje, je týmové rozhodnutí projektu; důležité je, aby byl původ nasazovaného artefaktu dohledatelný.

Struktura projektu

shop/
├── src/Order/Order.php              ← aplikační zdrojový kód
├── tests/Order/OrderTest.php        ← testovací zdrojový kód
├── migrations/Version20260810.php   ← verzovaná změna databáze
├── composer.json                    ← konfigurace projektu
├── composer.lock                    ← vyřešené verze závislostí
└── public/build/app.js              ← vygenerovaný build pro prohlížeč

Od textu k běhu

Zdroj není poslední podobou programu

Konkrétní nástroje a kroky se liší podle jazyka a projektu, tento tok pouze ukazuje jejich obvyklé role.

  1. Textové soubory Vývojář zapíše instrukce, deklarace a testy v konkrétním jazyce.
  2. Kontroly Parser, formatter, testy nebo statická analýza vyhodnotí různé druhy problémů.
  3. Verzování Změna se uloží s historií, review a kontextem v repozitáři.
  4. Build nebo interpretace Nástroj kód vykoná, přeloží nebo z něj vytvoří distribuční artefakt.
  5. Nasazení Ověřená verze vstoupí do prostředí, kde program obsluhuje skutečné požadavky.

Co do něj patří

Kód, komentáře a struktura mají odlišné úkoly.

Zdrojový kód není jen řada příkazů. Jeho čitelnost vzniká i názvy, rozdělením odpovědností, typy a testovatelným návrhem.

Instrukce a deklarace

Popisují, co program dělá a jaké typy, funkce, třídy či moduly nabízí.

Komentáře

Pomáhají vysvětlit záměr, omezení nebo neintuitivní rozhodnutí. Nemají nahrazovat názvy a návrh, kterým bez komentáře nelze rozumět.

Konfigurace

Soubor může být verzovaný a nezbytný pro běh, ale například nastavení závislostí není automaticky aplikační instrukce.

Generované soubory

Build, cache nebo klient vytvořený z OpenAPI se obvykle odvozují ze zdroje. Je vhodné znát jejich původ a pravidlo obnovy.

Omezení a časté chyby

Čitelnost ani dostupnost kódu nejsou samozřejmost.

Dobrá praxe

  • dohledatelný původ build artefaktu a opakovatelný postup sestavení
  • smysluplné názvy, malé odpovědnosti a testy místo popisu každého kroku v komentáři
  • version control pro společně spravovaný kód i jeho nezbytnou konfiguraci
  • automatické kontroly, které vrací rychlou zpětnou vazbu před nasazením

Rizika

  • produkční hesla, tokeny a privátní klíče ve zdrojovém kódu nebo historii
  • ruční oprava vygenerovaného souboru bez změny skutečného zdroje
  • zaměnění dostupnosti repozitáře za licenci k použití kódu
  • komentář vysvětlující nečitelný návrh místo jeho zjednodušení

Praktická práce

Změnu je potřeba umět nejen napsat, ale i ověřit a dohledat.

Udržovaný kód dovoluje týmu bezpečně měnit program i po letech. Pomáhá, když je z názvů, testů a hranic tříd patrné, co má změna zachovat. Znalost konkrétního jazyka nestačí, pokud nikdo nerozumí, kam nová odpovědnost patří.

Pro zdrojový kód platí stejná bezpečnostní pravidla jako pro ostatní součásti projektu. Přístupy do produkce se předávají přes bezpečný mechanismus prostředí nebo správce tajemství, nikoli jako hodnoty v commitu.

Kontrola změny

Oddělte záměr, konfiguraci a výsledek sestavení.

Toto rozdělení usnadňuje review i řešení problému, kdy se chování nasazené verze liší od očekávání.

  • ověřit syntaxi a typy pomocí odpovídajících nástrojů
  • spustit testy chování, které změna ovlivňuje
  • zjistit, zda je upraven vlastní zdroj, konfigurace nebo odvozený artefakt
  • neukládat secrets ani kopie produkčních dat do repozitáře
  • zachovat vazbu mezi commitem, buildem a nasazenou verzí

Časté otázky

Co zdrojový kód znamená pro projekt

Je zdrojový kód vždy veřejný?

Ne. Většina aplikačního kódu je soukromá a přístup do repozitáře se řídí rolí v týmu. Open-source projekt se zveřejňuje vědomě pod konkrétní licencí.

Je repozitář totéž co zdrojový kód?

Ne. Repozitář vedle zdrojových souborů uchovává historii změn, větve, pravidla spolupráce a často konfiguraci projektu.

Patří composer.json mezi zdrojový kód?

Je to důležitá verzovaná konfigurace PHP projektu. Neobsahuje obvykle aplikační instrukce, ale popisuje závislosti a způsob jejich načtení.

Mohu převzít kód, který je veřejně dostupný?

Pouze pokud to dovoluje jeho licence a podmínky. Veřejná URL nebo veřejný repozitář nejsou samy o sobě oprávněním k použití.

Osobní zkušenost

Kód má být čitelný při změně, nejen při prvním napsání.

V PHP projektech spojuji návrh zdrojového kódu s testy, automatickými kontrolami a bezpečným postupem nasazení.

Zavolejte mi

Zavolám vám následující pracovní den mezi 9:00 a 17:00.

Můžete mi také zavolat rovnou.

+420 605 181 728

Nechte mi telefonní číslo a pošlete žádost o zpětné zavolání.

Odesláním souhlasíte se zpracováním údajů pro vyřízení žádosti.