Jak mluvit s klientem o termínech, aniž byste slibovali nemožné

Psaní prvního unit testu vypadá jako jednoduchý úkol, ale často skončí u frustrace a testů, které nic netestují. Nejde o to napsat co nejvíce kódu, ale pochopit, co chcete ověřit. Začněte u nejmenší funkce, která něco vrací a nemá vedlejší efekty. Ideální je čistá funkce, která ze stejného vstupu vždy vrátí stejný výstup. Než začnete psát test, položte si otázku: Co přesně má tato funkce dělat a co by se stalo, kdyby to nedělala?

Nakonec si dejte pozor na to, abyste neslibovali víc, než umíte. Pokud v životopise uvedete, že „programujete v Pythonu 10 let”, ale je to jen rok, dřív nebo později vás to usvědčí. Lepší je být upřímný a ukázat, že se rychle učíte – to je vlastnost, kterou firmy u juniorů cení nejvíc. Až dostanete nabídku, neváhejte se zeptat na detaily o náplni práce, o mentorovi a o tom, jak vypadá typický den. Dobrá firma vám na tyto otázky ráda odpoví, protože ví, že si vybíráte i vy.

Pokud jste dosud kontejnerizaci odkládali, protože vám přišla složitá, Docker toto vše mění. Místo instalace celého virtuálního systému stačí jediný obraz, který obsahuje aplikaci i vše, co ke svému běhu potřebuje. Výsledkem je, že stejný software funguje na vašem notebooku, na testovacím serveru i v produkci, aniž byste museli cokoli přepisovat. Tento článek vás provede prvními kroky tak, abyste se vyhnuli nejčastějším chybám a začali Docker používat opravdu prakticky.

Třetí problém nastává, když test závisí na pořadí provedení nebo na sdíleném stavu. Unit testy musí být izolované a spustitelné v libovolném pořadí. Pokud váš test potřebuje databázi, soubor nebo síť, není to unit test, ale integrační test. Pro začátek se těmto závislostem vyhněte úplně. Pokud testovaná funkce používá čas, náhodu nebo externí službu, naučte se tyto závislosti předávat jako parametry. Tím získáte kontrolu nad vstupem a test bude deterministický.

Komunikace odhadů času patří k nejcitlivějším momentům spolupráce. Zákazník chce jasný termín, vy ale víte, že se může cokoliv změnit. Základem je rozlišovat mezi pojmy „odhad” a „závazek”. Odhad je pracovní hypotéza, závazek je pevný slib. Pokud obojí smícháte, dříve nebo později narazíte. Místo slov „bude hotovo” používejte „předpokládám” nebo „odhaduji”. Tím dáváte najevo, že časový údaj není věštěním z křišťálové koule, ale výsledkem analýzy.

Typickou chybou je měřit pokrytí pouze u testů, které běží rychle, a ignorovat pomalé integrační testy. Pak čísla vypadají skvěle, ale reálné pokrytí je nízké. Dalším častým problémem je zapomínat na měření u nově napsaného kódu – pokud přidáte funkci bez testu, pokrytí klesá, ale nikdo si toho nevšimne, dokud není příliš pozdě. Řešení: automaticky generujte report po každém pushnutí do větve a posílejte ho do týmového chatu, aby byl vidět hned.

Než začnete mluvit o termínech, zjistěte si co nejvíce informací o zadání. Pokud zadání není kompletní, řekněte to nahlas. Klientovi vysvětlete, že odhad bez detailů je jako jízda bez mapy. Stanovte si interní rezervu – nepočítejte jen s optimálním průběhem, ale i s menšími komplikacemi, které se běžně stávají. Do odhadu zahrňte i čas na kontrolu, komunikaci a případné úpravy. Mnozí dělají chybu, že odhadnou čistý pracovní čas a pak bojují s každým dnem zpoždění.

Jak si vytvořit první kontejner a nespálit se Základním stavebním kamenem je soubor Dockerfile. Ten popisuje, jak se má výsledný obraz vytvořit. Začněte jednoduchým příkladem: vezměte oficiální obraz jazyka Python, nakopírujte do něj svůj skript a nastavte příkaz, který se má spustit. Důležité je dodržet pořadí instrukcí. Pokud totiž změníte pouze kód aplikace, Docker využije cache a build proběhne rychle. Pokud ale nejprve zkopírujete celý projekt a teprve poté instalujete závislosti, každá změna v kódu způsobí, že se závislosti instalují znovu, což je pomalé a frustrující.

Začít kariéru v IT jako vývojář je dnes snazší, než se zdá, ale cesta má svá úskalí. Klíčem není jen umět psát kód, ale také vědět, jak se prezentovat a kde hledat. Nejdřív si ale ujasněte, co přesně chcete dělat. Webové aplikace, mobilní aplikace, backend nebo třeba datová analytika? Každá oblast má jiné nástroje a jiné požadavky. Vyberte si jeden směr a soustřeďte se na něj. Rozptylování do více technologií na začátku spíš uškodí.

Docker Compose je další krok, který výrazně zjednodušuje život. Místo dlouhých příkazů s mnoha parametry napíšete soubor docker-compose.yml, ve kterém definujete služby, sítě a svazky. Typickou chybou je definovat databázi a webovou aplikaci jako dva samostatné kontejnery, ale připojit je k sobě přes síť až po spuštění. Compose to zvládne automaticky, pokud obě služby umístíte do stejného souboru. Pozor ale na to, že každý kontejner má vlastní souborový systém. Jakmile v něm smažete data, jsou pryč. Proto vždy používejte takzvané svazky (volumes) pro data, která chcete uchovat, jinak o ně přijdete při každém restartu.

If you cherished this post and you would like to acquire additional data about http://1V34.com/ kindly visit our own website.

Scroll to Top