5 návyků pro commit zprávy, které oceníte za rok

Z Mazovia


První návyk: piš zprávu v rozkazovacím způsobu a v přítomném čase, barvy stěn do obýváku jako „opravit přihlášení po vypršení tokenu", ne „opravil jsem". Drž se jednoho tématu na commit. For more regarding Http://Crativ.Co.Kr/Bbs/Board.Php?Bo_Table=Info1&Wr_Id=140413 look at our page. Když mícháš refaktoring, opravu chyby a novou funkci, nikdo nezjistí, která část změny co způsobila. Rozděl práci na menší commity, i když to znamená víc práce s přípravou. Menší commit se snáz čte, snáz revertuje a snáz se dohledá.

Pro zpětnou dohledatelnost se hodí i jednotný formát: typ změny, krátký popis a důvod. Nemusí to být striktní konvence, stačí, když se v tom vyznáš ty i ostatní. Když hledáš, kdy se něco rozbilo, projdi historii podle souboru a hledej vysvětlení, ne jen názvy. Commit, který říká proč, ti ušetří hodiny. Commit, který říká jen „fix", ti je přidá.

Dynamicky generovaná data v čase znamenají, že vstupní hodnoty nejsou pevně dané, ale vznikají za běhu podle aktuálního času, časového pásma, časovače nebo intervalu. Testovat takovou aplikaci nelze spolehlivě opakovat, pokud si nejdřív neoddělíte zdroj času od zbytku logiky. Prvním krokem je najít v kódu všechna volání systémového času a nahradit je rozhraním, které lze v testech podstrčit. Aplikace pak nesahá přímo na hodiny operačního systému, ale ptá se abstrakce. Teprve pak můžete simulovat dopředu i dozadu.

Když API něco neumí, lidé často sáhnou po scrapingu webu. Rozdíl je zásadní. API je oficiální cesta, data dostanete strukturovaná a stabilní. Scraping čte hotovou stránku, což je křehčí a často v rozporu s podmínkami služby. Pokud API existuje, použijte ho. Scraping berte jako nouzové řešení, ne jako výchozí volbu. Ať už zvolíte cokoli, začněte na malém vzorku dat, ověřte, že výstup dává smysl, a teprve pak zvyšujte objem.

Retrospektiva je místo, kde se tým učí. Nejtěžší je mluvit o nepříjemných věcech, aniž by se hledal viník. Pomáhá držet se dat: kolik položek se vrátilo z testů, kolik času zabralo čekání na schválení. Výstupem nemá být seznam stížností, ale jedna až dvě konkrétní změny, které tým v dalším sprintu vyzkouší. Když se změnábytek na míru neosvědčí, klidně se vraťte k předchozímu stavu. Cílem není dodržet metodiku, ale zlepšit tok práce.

Pipeline, která se dá číst a oprav

JWT (JSON Web Token) je kompaktní, samostatně popsatelný token, který se skládá ze tří částí oddělených tečkou: hlavičky, těla a podpisu. Hlavička určuje algoritmus podpisu, tělo nese tzv. claims – identitu uživatele, expiraci, vydavatele nebo oprávnění – a podpis zajišťuje, že s obsahem nikdo neposunul. Díky tomu server nemusí u každého požadavku sahat do databáze relací; stačí ověřit podpis a platnost tokenu. To je hlavní důvod, proč se JWT používá u stateless API, mobilních klientů a služeb, které spolu komunikují napříč doménami.

Typická chyba je psát zprávu až po dokončení práce z hlavy. Lepší je napsat ji před commitem, kdy ještě víš, co tě k tomu vedlo. Další chyba je míchat jazyky nebo používat zkratky, kterým rozumí jen tvůj tým. Piš česky nebo anglicky, ale konzistentně v celém projektu. A pozor na opravy „opravy předchozí opravy" – pokud se to začne opakovat, ProměNa Bytu je čas zastavit a podívat se na příčinu, ne přidávat další vrstvu.

Základem je správná volba algoritmu. Symetrický HS256 použijte jen tam, kde token vydává i ověřuje stejná služba a klíč zůstává v tajnosti. Pro oddělení vydavatele a příjemce se hodí asymetrický RS256 nebo ES256, kdy privátním klíčem podepisujete a veřejným kdekoli ověřujete. Nikdy nepřijímejte algoritmus z hlavičky tokenu bez vlastního seznamu povolených hodnot – útočník by mohl podstrčit „none" nebo přepnout RS256 na HS256 a podepsat token veřejným klíčem.
Commit zpráva není deníček pro tebe, ale vzkaz pro toho, kdo se v kódu bude hrabat za půl roku. Často to budeš ty sám a nebudeš si pamatovat, proč jsi ten soubor vůbec měnil. Dobrá zpráva se proto neptá „co jsem udělal", to vidí diff, ale „proč jsem to udělal a co to řeší". Pokud věta nedává smysl bez otevření změn, je moc krátká nebo příliš obecná.

Jak psát tělo a hlavičku, aby vydržely Hlavičku drž do zhruba padesáti znaků, zbytek dej do těla odděleného prázdným řádkem. V těle vysvětli kontext: co bylo špatně, jaké okolnosti k tomu vedly a co změna ovlivní. Uveď i to, co jsi záměrně neudělal, pokud to může někoho napadnout. Odkazuj na číslo úkolu nebo issue jen tehdy, když existuje a je dohledatelné. Vyhni se holým frázím typu „oprava chyby", „update", „wip" nebo „různé změny" – ty neříkají nic a za rok jsou k ničemu.

Mezi časté chyby patří ukládání tajného klíče přímo v kódu nebo v repozitáři, vypnutá kontrola podpisu při ladění, která se zapomene vrátit do produkce, a absence rotace klíčů. Klíč měňte při podezření na únik a podporujte dvě platné verze, aby se klienti stihli přepnout. Tokeny také logujte bez těla a podpisu, jinak si je zapíšete do dohledových systémů a útočník je odtud vytáhne. A nezapomeňte na odhlášení: bez černé listiny jti zůstává token platný až do expirace.