• Co byste dělali, kdyby vypukla válka

    Luboš Louženský se na twitteru zeptal, zda by vaše práce měla ještě smysl, kdyby začala válka. Rozjela se kolem toho zajímavá diskuse, ale stočtyřicet znaků není ten správný formát. Přináším svoje shrnutí a dávám prostor v komen­tářích pod článkem.

  • Aby JUnit test neselhal na první assert

    Chtěl bych navázat na článek Paramet­ri­zo­vaný JUnit test a pokrač­ovat tak v předs­ta­vování vlast­ností JUnit, o kterých dost programátoru neví, nebo je alespoň denně nepoužívají.

    Jsem zastáncem toho, aby jednot­livé testy byly co nejkratší a samozřejmě na sobě nezávislé. Raději napíšu deset testo­vacích metod s jedním asser­tem, než jednu metodu s deseti asserty (viz kriti­zo­vaný test validátoru rodných čísel). Výhodu spatřuji v tom, že při jediném běhu testu vidíte na jediný pohled všechny vadné případy. A ne že opravíte první assert, spustíte test a padne vám hned druhý assert v pořadí.

    Jiné je to v případě integ­rač­ních testů, například Selenium (WebD­ri­ver). Samotná příprava dat je náročná, takže je vhodné asserty sdružovat do větších celků. Ale jak z jediného běhu získat co nejvíce infor­mací, aniž byste museli test znovu a znovu opakovat?

    Existuje šikovná imple­men­tace rozhraní TestRule, v podobě ErrorCollector, který sbírá vzniklé chyby, ale repor­tuje je až nakonec.

  • Tvůj kód může být elegantní

    Mám rád čistý kód. Kvalita kódu ovšem mnohdy musí ustoupit byznys požadavkům a nemusí to být nutně špatně. Leon Fayer o tom sepsal pěkný článek Your Code May Be Elegant. S jeho laskavým svolením jsem text přeložil do češtiny (překlad uvolňuji pod licencí Creative Commons by-nc-sa).

  • Parametrizovaný JUnit test

    Richard Šerý v článku Druhá obtížná věc prohlašuje: „pište kód tak, aby ho pocho­pilo i malé děcko, senilní stařík či vy po deseti letech práce v korpo­ra­ci“. V komen­tářích jste mě za podobu unit testu pro validátor rodného čísla, který ono krédo respek­tuje, téměř kameno­vali. Zkusme tedy něco elegant­nějšího: paramet­ri­zo­vaný JUnit test. Dle toho, co jsem viděl, se zatím testy tímto způsobem moc nepíšou. Jako další zlepšovák imple­men­továno v Groovy.

  • Co se firmy můžou přiučit od armády 2

    Již jsem psal o tom, co se firmy můžou přiučit od armády. Přivedla mě k tomu kniha Corps Business: The 30 Manage­ment Principles of the U.S. Marines. Volně pak navázal Dagi, co má společ­ného voják blátošlap s vývojářem lopatou. Od té doby jsem si pozna­menal několik další věcí, kterými se lze od ozbro­jených složek inspi­ro­vat. Nedávno jsem potkal známého, který dělá vedoucího územního odboru (okres) Policie České repub­liky. Začal jsem konver­zaci: „U vás dělá ten a ten, ale toho asi neznáš, že?“ Odpovědí mi bylo: „Jasně, že ho znám. Já znám jménem všech svých 220 podřízených.“ Obdivem mi poklesla brada a zatím jsem si vybavoval poměry v obdobně velkých firmách.

  • Hromadný apt-get install

    I s tím málo, co s Linuxem umím, si připadám efektiv­nější než s Windows. Pominu-li drobnosti jako to, že ve Windows scrollu­jete jen tam, kde je focus, tak nejdůležitější pro programátora je pocho­pi­telně příka­zová řádka. Bez Unixové si připadám, jako kdybych měl zlámané obě nohy. Dobře, existuje Cygwin, ale to jsou jen berle, s těmi těžko budete skákat přes kaluže.

    S přibývajícími roky se obrušují hrany mých nekom­p­ro­mis­ních názorů: mám pocho­pení pro to, že je snazší spravovat síť s tisíci počítači, pokud máte jediný systém. Dal jsem Windows měsíc šanci a pak insta­loval Ubuntu do virtuálu. Pokaždé doinsta­lovávám ty samé aplikace, tak jsem si poznačil skript. Třeba se vám bude taky hodit.

  • Z čeho se staví dům

    Minule jsem se rozepsal o tom, jak se staví dům svépomocí, ale nedostal jsem se k tomu, z čeho je posta­ven. Shrnuji, co jsme si vybrali a proč a případné poučení. Původně jsme uvažo­vali o dřevos­tavbě, ale od té jsme nakonec upustili. Především si myslím, že s nimi nemají čeští řemes­l­níci dosta­tečné zkuše­nosti, a ani nevím, ke komu bych si chodil pro radu. Jistěže chceme bydlet rychle, ale je tu i otázka velkých úspor na hrubé stavbě, na kterou si v případě cihel troufnu. V neposlední řadě je to otázka tepel­ného komfortu. Je sice krásné, že prostor rychle vytopíte, ale bude vám chybět tepelná akumu­lace; především v létě, kdy budete mít problém dům uchladit.

  • Stavebnictví versus softwarové inženýrství

    Máme tendenci neustále něco srovnávat. I softwa­rové inženýr­ství srovnáváme. S vojenstvím, strojíren­stvím nebo se stavebním inženýr­stvím. Martin Fowler v článku New Metodology, který byste si měli rozhodně přečíst (i když je dlouhý), popisuje motivace a vznik agilních metodik a vyvozuje závěr, že pro softwa­rové inženýr­ství je takové srovnání zavádějící. Přeložil jsem několik vybraných odstavců a doplnil o svoje poznámky.

  • Jak se staví dům svépomocí

    Správný muž by měl zplodit syna, postavit dům a zasadit strom. A to v tomhle pořadí, abyste totiž nebudo­vali ohromné sídlo, ve kterém nakonec budete bydlet sami, což se nezřídka stává. Zrovna dům stavím a na twitteru občas zmíním nějaké detaily. Objevilo se několik ohlasů, že by vás zajímaly podrob­nosti, obzvlášť protože stavím částečně svépo­mocí. Tady jsou. Především je celá stavba lekce trpěli­vosti a pokory a v neposlední řadě i kvali­fi­kace na projek­tového manažera. Důležité je mít na paměti, že i když se nastěhu­jete a začnete bydlet, tak deset let dosta­vu­jete, pak si dáte rok pauzu a začnete opravo­vat. Jo a až budu stavět třetí dům, tak ten bude nejlepší, jelikož konečně budete vědět, jak na to.

  • Nepotřebujete UX, ale zdravý rozum

    Nejsem ani zdaleka tak pokorný, abych se řídil heslem kamarádova otce: „Nemůžeš-li pochválit, tak alespoň mlč.“ Jedna z mých zvídavých otázek, které kladu u přijímacího pohovoru jako uchazeč je, zda mají HCI desig­néra. Potře­bu­jete přinej­menším někoho, kdo má zdravý rozum a četl třeba knihu The Design of Everyday Things. Na dvou službách od Seznamu bych chtěl ukázat, jaké klacky jsou uživa­telům házeny pod nohy. Klidně to berte tak, že si chci jen zchladit žáhu. V lepším případě tak, že chci upozornit na to, jak mohou zlepšit své služby.

subscribe via RSS