sobota 9. prosince 2017

Jak se vyhnout chybě CA1303: Do not pass literals as localized parameters

 Pokud je zapnuta analýza kódu a nastavena většina pravidel, stane se při zavedení nové metody, která používá jako parameter string a jejím volání, že kompilace kódu skončí chybou.

Ono je to technicky vzato varování, ale lze si v projeku nastavit, že tato varování budou považovány za chybu.

pondělí 7. srpna 2017

Vývoj na VM v Azure - má to smysl a nebo ne?

Při hledání možností, jak usnadnit práci novým kolegům na našem projektu byla jednou ze zvažovaných možností i použití virtuálního počítače v Azure. Nápad byl asi takový, že si uděláme předlohu, tedy ideální pracovní stroj, kde již budou nainstalovány všechny používané aplikace. Tedy mimo samozřejmého Visual Studia i všechny další nástroje pro práci s kódem, všechny potřebné SDK, testovací nástroje a další.
 Nováček by si tak jen na pár kliků na Azure portálu vytvořil svoji instanci, nastavil potřebné přihlašovací údaje a mohl tak prakticky ihned začít pracovat. 

středa 19. července 2017

StreamReader nebo ReadAll

Výsledek obrázku pro performanceV miniseriálu o funkcionálním programování jsem se zabýval zpracováním CSV souboru. Soubor, tedy textový dokument, jakým je CSV, můžeme v zásadě zpracovávat dvěma způsoby: vše načíst do paměti a nebo využít stream.

neděle 16. července 2017

Funkcionální programování potřetí

Výsledný kód programu, využívajícího funkcionální přístup ke zpracování CSV souboru v předešlém příspěvku, byl trochu kostrbatý a špatně čitelný. Obsahoval příliš mnoho podmínek if.


Těm se lze vyhnout, pokud použijeme takzvaný railway přístup k zápisu kódu. Při tomto přístupu se na funkci díváme jako na kus kolejiště s výhybkou a na spuštěný kód jako na vláček, který po sestaveném kolejišti jede.

čtvrtek 22. června 2017

Funkcionální programování podruhé


Jak implementovat funkcionální přístup ukážu na jednoduchém validátoru CSV souboru. Je to poměrně jednoduchá úloha s těmito třemi zásadními operacemi:

  • z prvního řádku je nutné získat seznam sloupců
  • z následujících pak
    • získat seznam hodnot název sloupce - hodnota
    • jeden ze sloupců obsahuje primární klíč, duplicitní řádky tedy musíme vyloučit

úterý 20. června 2017

Zmatky v práci s AD

Active Directory je Microsoftí implementace adresářových služeb LDAP. A jak je MS dobrým zvykem, pokud chce programátor s touto službou spolupracovat, může si vybrat hned z několika možností.
Ty se navíc liší výkonem a možnostmi, takže je zkrátka asi nejlepší vědět a znát všechny - vždy mne překvapuje, jak i firma velikosti MS nedokáže dotáhnout některé věci k použitelnému stavu.


sobota 17. června 2017

Funkcionální programování

V poslední době jsem začal více využívat ve svém kódu principy funkcionálního programování. Zčásti to začalo použitím vzoru Maybe, ale rozvinul jsem to dále a zkušenost to byla tak dobrá, že se o ní podělím.

Hned na začátek pro ty, co mají přístup ke kurzům na pluralsight, uvádím odkaz na dobrý kurz, který vše pěkně dopodrobna vysvětluje - Applying Functional Principles in C# od Vladimira Khorikova.

Tento pán má i své vlastní stránky a dostupná je i knihovna s níže popsanými třídami