Co všechno musíte zvládnout, než pošlete první příspěvek?
Začněte analýzou schématu. V MySQL používáte typy jako TINYINT, ENUM nebo DATETIME. V PostgreSQL je třeba je nahradit odpovídajícími typy, ale pozor na sémantiku. Například DATETIME v MySQL odpovídá TIMESTAMP v PostgreSQL, ale TIMESTAMP v PostgreSQL nemá automatickou aktualizaci při změně řádku, kterou MySQL umí. Pokud ji potřebujete, vytvořte trigger nebo použijte výchozí hodnotu s funkcí now(). Automatické inkrementace se liší: místo AUTO_INCREMENT použijte SERIAL nebo modernější GENERATED AS IDENTITY.<br>
<br>
<br>
<br>
Příklady jsou důležitější než popis parametrů Místo strohého seznamu atributů uveďte konkrétní příklad požadavku a odpovědi. Ukažte reálný JSON, ideálně s hodnotami, které odpovídají skutečným datům – ne „string", ale „název produktu". Přidejte i příklad chybové odpovědi, ať frontend ví, co má očekávat. Dobře funguje i krátký úryvek volání z javascriptu, ale bez nadbytečných knihoven – stačí fetch s hlavičkami. Tyto příklady by měly být kompletní a zkopírovatelné, aby si je vývojář mohl rovnou vložit do konzole a vyzkoušet.<br>
<br>
<br>
<br>
Když začnete psát kód, držte se zavedených zvyklostí projektu. Řiďte se podle toho, co už v repozitáři existuje, ne podle celkových trendů. Pokud projekt nepoužívá žádný linter, nesnažte se ho tam prosadit v rámci prvního příspěvku. Mnohem lepší je přidat opravu, která je co nejmenší a nejčistší. Rozdělte velké změny na menší logické celky, aby se každý dal samostatně zkontrolovat. Typickou chybou bývá míchání opravy chyby s refaktoringem kódu – to pak recenzent neví, co má vlastně hodnotit.<br>
<br>
<br>
<br>
Prvním krokem by mělo být nalezení problému, který je pro vás zvládnutelný. Hledejte v issue trackeru štítky jako „good first issue" nebo „help wanted". Než se ale do problému pustíte, přečtěte si celou diskuzi. Často se stává, že problém už někdo řeší, nebo že je zadání zastaralé. Pokud není jasné, co se po vás chce, zeptejte se přímo v komentáři. Uveďte, co jste zjistili, a navrhněte, jak byste postupovali. Udržujte komunikaci věcnou a stručnou – nikdo nemá čas na dlouhé úvody.<br>
<br>
<br>
<br>
Při přenosu dat dbejte na transakce. PostgreSQL podporuje plnou transakční integritu, ale migrace velkých objemů dat v jedné transakci může způsobit přetečení logů nebo zpomalení. Rozdělte data do dávek a testujte na vzorku. Také si ověřte, že všechny cizí klíče a unikátní indexy jsou vytvořeny až po naplnění tabulek – urychlí to import a předejdete chybám integrity.<br>
<br>
<br>
<br>
Dalším častým problémem je automatické doplňování a importy. Když máte v jednom projektu JavaScript a TypeScript, editor může nabízet importy z obou jazyků, což vede k záměně a chybám. Nastavte si jazykové služby tak, aby se chovaly podle typu souboru. Většina editorů umožňuje povolit nebo zakázat automatické importy pro jednotlivé jazyky. Nebojte se konfiguraci věnovat čas – ušetří vám to hodiny ladění.<br>
<br>
<br>
<br>
Častou chybou je odhadovat pouze podle „čistého" času, který byste potřebovali, kdyby vše proběhlo hladce. Realita ale vypadá jinak. Přidejte rezervu na hledání chyb, na nejasné požadavky a na komunikaci. Zkušení vývojáři často používají pravidlo, že k hrubému odhadu přidají 30–50 % času na skryté činnosti. Není to univerzální vzorec, ale dobrý startovní bod, který pak upravíte podle konkrétního projektu.<br>
<br>
<br>
<br>
Nakonec si ověřte své odhady na minulých úkolech. Když dokončíte práci, porovnejte odhad se skutečností a zapište si, co způsobilo rozdíl. Po pár iteracích získáte data, která vám umožní odhadovat přesněji. Skryté činnosti nezmizí, ale naučíte se je předvídat – a to je klíč k tomu, aby vaše odhady byly konečně realistické.<br>
<br>
<br>
<br>
Přispívání do open source projektů není jen o psaní kódu. Začíná to mnohem dřív – u čtení dokumentace a pochopení, jakým způsobem projekt komunikuje s okolím. Než se pustíte do prvního pull requestu, věnujte čas prozkoumání repozitáře. Podívejte se, jak vypadají existující commity, jaké konvence se používají v pojmenovávání větví a jaké šablony se vyplňují při hlášení chyb. Tento průzkum vám ušetří hodiny oprav a vysvětlování.<br>
<br>
<br>
<br>
Co všechno se schovává za „naprogramováním" Než začnete odhadovat, rozepište úkol na menší části a ke každé přiřaďte i tzv. skryté náklady. Patří sem čtení dokumentace, která není aktuální, hledání správného API, nastavování lokálního prostředí, nebo třeba synchronizace s kolegy na společném rozhraní. Zkuste si pro každý úkol napsat seznam činností, které nejsou na první pohled vidět, a odhadněte jim čas zvlášť. Teprve pak je přičtěte k čistému programování.<br>
<br>
<br>
<br>
Druhý krok je zavedení verzování. Všechno, co souvisí s konfigurací – skripty, Dockerfily, definice prostředí – musí být v git repozitáři. To platí i pro konfiguraci serverů. Pokud nemáte infrastrukturu jako kód, nemůžete ji verzovat, testovat ani snadno obnovit. Typická chyba je, že lidé verzují jen kód aplikace, ale konfiguraci nechávají ručně na serverech. Pak se prostředí liší a nasazení selhává. Uložte vše do repozitáře a vytvořte si jednoduchý postup pro nasazení z něj.





