Jste zde

programování

Chyby v návrhu: porušování principu "Tell, don't ask"

V dnešním díle seriálu o chybách v návrhu se podíváme na chyby, které objektově orientovaný kód degradují na procedurální úroveň. Zaměříme se na porušování principu "Tell, don't ask", který říká, že byste měli objektům říkat, co po nich chcete, a nikoliv se jich vyptávat a pak činit rozhodnutí za ně.

Méně známé skutečnosti o C++: Aliasy na prostory jmen

O možnosti vytváření aliasů na typy pomocí konstrukce typedef ví zřejmě každý programátor v C a C++. Co je však méně známé, tak je, že v C++ si můžete vytvářet aliasy na jmenné prostory. Tento příspěvek vám ukáže, jak na to a vysvětlí, k čemu se to může hodit.

Méně známé skutečnosti o C++: try-catch blok jako tělo funkce

C++ umožňuje, abyste u těla funkce, která obsahuje pouze try-catch blok, vynechali okolní složené závorky ("{" a "}"). V tomto příspěvku se podíváme na to, jak to vypadá a k čemu je to použitelné.

Chyby v návrhu: Singleton

V minulém díle jsme se bavili o situacích, kdy má třída příliš mnoho odpovědností. V dnešním díle si ukážeme, jak velké problémy skrývá na první pohled příjemný a jednoduchý návrhový vzor Singleton a proč jej tak mnoho programátorů zneužívá v situacích, kde nemá co dělat.

Méně známé skutečnosti o C++: std::endl vs '\n'

Často se setkávám s tím, že se v C++ k ukončení řádku ve výstupu používá std::endl místo klasického '\n', které známe z Céčka. Důvod bývá různý, ale většinou je to něco ve stylu: "je to C++kovější řešení než '\n'" či "je to přenositelnější". V tomto příspěvku se dozvíte, že ani jeden důvod není pravdivý a že použití '\n' místo std::endl vám může značně urychlit běh programu.

Méně známé skutečnosti o C a C++: Různé formy sizeof

Možná jste se již setkali s různými zápisy použití operátoru sizeof. Konkrétně se jedná např. o zápisy sizeof(int), sizeof(*p) a sizeof *p. Jaký je mezi těmito zápisy rozdíl a kdy je nutné použít závorky se dočtete v následujícím příspěvku.

Zajímavosti z C++: Proč nedávat `using namespace xxx;` do hlavičkových souborů

Více než často vídávám, že se do hlavičkových souborů dává tzv. using direktiva ve tvaru using namespace xxx;. Nejčastější je using namespace std;. V následujícím příspěvku se dozvíte, proč je to špatný nápad a důvody, proč to nedělat.

Méně známé skutečnosti o C: Funkce, které se nevrací

Se standardní funkcí exit(), která ukončí běh programu, se již asi setkal každý, kdo alespoň trochu programoval v jazyce C. Tato funkce spadá do kategorie funkcí, které se po zavolání nevracejí na místo, odkud byly volány. Méně se však ví, že kromě zmiňované funkce exit() je v jazyce C řada dalších funkcí, které vykazují podobné chování. A právě o nich bude tento příspěvek.

Zajímavosti z C++: Optimalizace iterování přes standardní kontejnery

Dneska se podíváme na to, jak lze různými způsoby iterovat přes standardní kontejnery a jak si stojí tyto způsoby ve vzájemném porovnání z hlediska rychlosti. Mrkneme se i na to, co s tím dokáže udělat překladač při zapnutí optimalizací.

Chyby v návrhu: když jeden dělá příliš mnoho

Vítejte v prvním díle nového seriálu na mém blogu: chyby v návrhu. Budeme se zabývat častými chybami v návrhu, kterých se dopouští (nejen) začínající programátoři. Dnes si povíme něco o situacích, kdy má třída příliš mnoho odpovědností.

Stránky

Přihlásit se k odběru RSS - programování