Na závěr si osvojte čtení výstupu pytestu. Chybové hlášky obsahují podrobný diff, který ukazuje, co se očekávalo a co bylo ve skutečnosti. Nenechte se zmást neprošlými testy – nejprve opravte chybu v testovacím kódu, pokud je zjevná, jinak analyzujte produkční kód. Testy by měly být rychlé, deterministické a měly by běžet kdykoliv bez ohledu na pořadí. S těmito základy budete schopni psát spolehlivé testy, které vám ušetří hodiny ladění a zvýší důvěru v kód
Pozor si dejte také na takzvané „licence, které vypadají podobně” – například LGPL a GPL. LGPL umožňuje připojení kódu k proprietárním aplikacím, pokud se nezmění samotná knihovna. Mnoho autorů ale tyto dvě licence zaměňuje a pak jsou překvapeni, že firmy jejich kód nepoužívají. Podobně to platí pro Apache License 2.0, která má specifická ustanovení o patentech – pokud ji neznáte, může vás připravit o práva na vlastní patenty.
Další častou chybou je přidání licence až na konci, když je kód hotový. To vede k tomu, že někteří přispěvatelé nesouhlasí s novou licencí a vy pak nemáte právo jejich příspěvky distribuovat. Ideální je zvolit licenci na začátku a jasně ji uvést v hlavičce každého souboru. Pokud už máte příspěvky od více lidí, musíte je kontaktovat a získat jejich souhlas. To je zdlouhavé a často to projekt zastaví.
Dalším častým problémem jsou funkce a triggery. MySQL a PostgreSQL mají odlišnou syntaxi pro uložené procedury a triggery. Většinu kódu budete muset přepsat, a to nejen kvůli syntaxi, ale i kvůli rozdílnému chování transakcí. PostgreSQL klade větší důraz na atomicitu a izolaci, což může odhalit chyby v logice, které v MySQL nebyly vidět. Otestujte všechny kritické operace, zejména ty, které zapisují více tabulek najednou.
Jak na přenos dat a co sledovat při validaci Pro samotný přenos dat použijte nástroje, které umí exportovat data do formátu CSV nebo SQL souborů. MySQL nabízí příkaz mysqldump, PostgreSQL zase pg_dump. Důležité je exportovat data bez vytváření tabulek (pouze data) a poté importovat do předem připraveného schématu v PostgreSQL. Při importu dávejte pozor na kódování – nejbezpečnější je UTF-8. Pokud máte v datech binární obsah, zkontrolujte, jak je uložen, protože PostgreSQL pracuje s bytea odlišně než MySQL s BLOB.
Nejčastější past: kombinace licencí a závislostí Při výběru licence nezapomeňte na knihovny a balíčky, které váš projekt používá. Pokud je váš kód postaven na něčem pod GPL, vaše dílo se může stát odvozeným a musí být také pod GPL. To může být problém, pokud chcete použít permisivní licenci. Před finálním rozhodnutím si projděte všechny závislosti a zjistěte, jaké licence mají. Nástroje jako automatické skenery závislostí vám pomohou, ale stejně musíte rozumět tomu, co znamená „odvozené dílo” v kontextu vašeho kódu.
Jak správně počítat s rezervou, aniž byste skončili v přehnaném optimismu Častou chybou je rezervu buď vynechat úplně, nebo ji naopak nastavit příliš velkou. Optimální je použít pravidlo 20–30 % pro běžné úkoly a 50 % pro ty, které jsou nové nebo málo specifikované. Rezervu ale nedávejte na konec úkolu jako „polštář” – rozložte ji rovnoměrně mezi jednotlivé fáze. Pokud narazíte na problém během implementace, máte prostor ho vyřešit bez toho, abyste museli přesouvat termíny.
Než zveřejníte, zeptejte se sami sebe: chci, aby můj kód mohl být součástí placeného softwaru? Chci, aby mě někdo mohl na mém kódu postavit byznys bez mého svolení? Odpovědi vám pomohou zúžit výběr na dvě až tři licence. Až poté si přečtěte jejich plné znění – nikoli jen zjednodušené shrnutí. Pokud si nejste jistí, poraďte se s někým, kdo se právem softwaru zabývá. Vyhnout se právním problémům je vždy levnější než je později řešit.
Nejdříve si ujasněte, co od open source očekáváte. Chcete, aby váš kód mohl používat kdokoli, včetně firem, a to bez omezení? Pak se nabízí permisivní licence typu MIT nebo BSD. Ty vyžadují pouze zachování copyrightu a nekladou další podmínky. Pokud vám naopak záleží na tom, aby všechny odvozené verze zůstaly otevřené, sáhněte po copyleftové licenci, jako je GPL. Ta nutí každého, kdo váš kód upraví a distribuuje, aby zveřejnil pod stejnou licencí. To je klíčový rozdíl, který lidé často podceňují.
Prvním krokem je rozložit úkol na menší části a ke každé přiřadit konkrétní časovou rezervu. Místo odhadu „celkem to bude tak dva dny” si napište seznam: analýza a pochopení zadání (2 hodiny), návrh řešení (1 hodina), implementace (6 hodin), testování včetně oprav (3 hodiny), code review a zapracování připomínek (2 hodiny). Součet vám dá reálnější číslo, se kterým můžete dál pracovat.
Here’s more information in regards to http://WWW.Xiaodingdong.store stop by our website.
