Pamatujte také na to, že open source je o spolupráci, ne o soutěži. Neberte si kritiku osobně – code review je standardní součástí procesu. Když vám někdo navrhne změny, snažte se je pochopit a zdvořile na ně reagovat. Pokud nesouhlasíte, vysvětlete proč, ale buďte připraveni diskutovat. Dobrým zvykem je poděkovat recenzentovi za čas.
Jak zjistit reálný poměr mezi analýzou a kódováním Místo odhadů „od oka” použijte historická data z předchozích sprintů. Podívejte se, kolik času skutečně zabrala analýza a kolik implementace u podobných úkolů. Zjistíte, že některé typy úkolů, jako jsou změny v databázovém schématu nebo napojení na externí služby, vyžadují výrazně více analytické práce. Naopak rutinní úpravy formulářů nebo hlášek mívají analýzu krátkou. Tato data vám umožní kalibrovat odhad podle reálné historie, nikoli podle přání.
Další oblastí, kde lidé chybují, je psaní commit zpráv. Špatný commit text jako „oprava bugu” nebo „update” vypovídá o tom, že jste projekt nepochopili. Zkuste popsat, co a proč měníte, a to konkrétně. Například: „Oprava chyby v parsování dat, kdy docházelo k přetečení paměti u malých souborů”. Mnohem důležitější je ale to, abyste se zapojili do života komunity. Přečtěte si diskuze, odpovídejte na otázky ostatních, učte se z jejich zpětné vazby. Aktivní přispěvatelé, kteří se snaží pochopit projekt jako celek, jsou v open source komunitách ceněni víc než ti, kdo jen občas pošlou kód.
Při práci se soubory nebo databází často narazíte na problémy s čistotou prostředí. Vytvořte si fixture, která vytvoří dočasný adresář a po skončení testu ho smaže. Použijte k tomu modul tmp_path, který pytest nabízí zdarma. Nikdy nepoužívejte absolutní cesty k souborům, které existují jen na vašem počítači, jinak se testy nespustí nikde jinde. Stejně tak se vyhněte reálným síťovým voláním – místo toho si data připravte lokálně nebo použijte mock.
Při práci s funkcemi si osvojte volitelné parametry (znak ?) a výchozí hodnoty. Volitelné parametry umožňují zavolat funkci bez daného argumentu, ale uvnitř musíte kontrolovat, zda je hodnota definovaná. Výchozí hodnoty vám ušetří ruční přiřazování undefined. Dávejte si také pozor na typy, které se mění v průběhu času – použijte generické typy, pokud chcete, aby funkce fungovala s libovolným typem při zachování typové bezpečnosti. Například funkce pro zpracování pole by měla být generická, abyste nepřišli o informaci o typu prvků.
Základní princip je jednoduchý: definujete typy a TypeScript je kontroluje při kompilaci. Když píšete funkci, která přijímá číslo a vrací řetězec, deklarujete to explicitně. Tím se vyhnete situacím, kdy do funkce omylem předáte objekt a zjistíte to až v produkci. Nejdůležitější je naučit se rozlišovat mezi primitivními typy (string, number, boolean) a složitějšími strukturami, jako jsou rozhraní (interface) nebo typové aliasy. Právě rozhraní se používají k popisu tvaru objektů a usnadňují práci s API odpověďmi či konfiguračními soubory.
Častou chybou je, že se analytický odhad započítává do implementace, a tým pak má pocit, že má na kódování méně času, než ve skutečnosti potřebuje. Proto doporučuji oddělit v odhadu dvě položky: „analýza” a „implementace”, a každou z nich komunikovat zvlášť. Například u středně složitého user story může být analytická část 20 % celkového času, ale u komplexního systému s integracemi to může být 60 %. Neexistuje univerzální poměr, proto vždy vycházejte z konkrétních souvislostí.
Při plánování sprintu se vyhněte dvěma extrémům. Prvním je podcenění analýzy, kdy tým začne kódovat s polovičními informacemi a pak zjistí, že musí předělávat větší část práce. Druhým extrémem je přehnaná analýza, která zdržuje implementaci a tým nestihne dodat funkční výstup. Správné nastavení poznáte podle toho, že na konci sprintu je funkční kód, který prošel testy, a nezůstaly žádné otevřené analytické otázky.
Psaní smysluplných commit zpráv je dovednost, která se vyplácí především při zpětné dohledatelnosti změn. Když se kód po měsících vrátíte, nebo když ho prochází jiný člen týmu, kvalitní zpráva ušetří hodiny zmatků. Nejde o žádnou vědu – stačí dodržet pár zásad, které vám i ostatním usnadní orientaci v historii projektu.
Přispívání do open source projektů není jen o psaní kódu. Mnoho lidí si myslí, že musí být zkušený programátor, aby mohl pomoci. Opak je pravdou – projekty potřebují dokumentaci, testování, překlady, návrhy uživatelského rozhraní nebo správu komunit. Pokud chcete začít, prvním krokem je vybrat si projekt, který reálně používáte nebo který vás zaujme. Prohlédněte si jeho repozitář a zjistěte, jaká je struktura souborů, kde jsou diskuze a jakým způsobem se řeší úkoly. Většina zavedených projektů má v popisu sekci s pokyny pro přispěvatele – to je základní dokument, který byste měli přečíst dřív, než cokoliv uděláte.
If you have any thoughts regarding where by and how to use http://bbs.wj10001.com/home.php?mod=space&uid=3069509, you can speak to us at the web site.
