Diskuze: Skládání kódu
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 11 zpráv z 11.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Přijde mi, že je to úplně jedno. Když máš víc řetězců, použiješ 1. verzi / pole a když jich máš míň, tak si vystačíš s druhou volbou.
já jsem to zatím chápal tak, že VratTextA() je v podstatě nově vzniklý string pomocí funkce VratTextA() a ten, když použiji jako atribut v jiné funkci (což je v uvedením příkladu "VratTextA()+VratTextB()"), tak se asi vytvoří jeho kopie, ale když použiji verzi 1, tak se vytvoří kopie nově vzniklého stringu nejprve do a a pak kopie a do funkce "a+b"
Řešíš pitomosti. Těch něco málo tiků, které ti to vezne, je ti v
dnešní době ukradených. Snažíš se porozumět optimalizaci kódu, nebo
nedej bože snažíš se ho optimalizovat, aniž bys pořádně znal jazyk.
Prostě takové věci zatím neřeš, je to úplně jedno.
Brzká optimalizace je cesta do pekla.
Ne jen mě zajímá, jak je to správně, aby pak někdo neřekl "které
prase to psalo...", navíc pokud je to zanedbatelný rozdíl, a není to z
nějakého důvodu prasárna, tak to řešit určitě nebudu (rozhodne
přehlednost kódu).
Protože jsem si nebyl jistý, tak jsem se na to zeptal;)
Navíc, alespoň se domnívám, z toho kompilátor v rámci optimalizace udělá úplně to samé. Takže, jak píše Patrik Valkovič, piš to tak, aby to bylo přehledné a vůbec si nedělej starosti s případnou (doslova) nepatrnou ztrátou výkonu. Snažit se optimalizovat má smysl až v případě, kdy je program pomalý, a na místech, kde například v cyklu projíždíš velké množství dat.
Tvoje myšlení se ubírá právním směrem, ale .NETu nemá takový význam. Nicméně neřešíš úplné pitomosti. Jenom na špatným místě. Jsi céčkař a optimalizuješ za pochodu. V C#rpu na sebe nemusíš být tak přísný. Od toho vyšší jazyky jsou. String je v .NETu immutable typ. Na to je potřeba pamatovat. Tedy s každou změnou(třeba i to sečtení) se dělá kopie a to bude "hrdlo". Mezi 1 a 2 nebude valného rozdílu.
Ale pokud bys měl používat sčítání stringu třeba v cyklu, tak tam už
by měl optimalizovat i C#itsta použitím třídy StringBuilder
http://stackoverflow.com/…tringbuilder
Máš pravdu, vždy když píšu nějaký finální software, tak jsem
zvyklí přemýšlet nad každým založeným bajtem (zvlášť u smyček).
Teď co jsem se pustil do .net(u), tak mě už hodněkrát překvapilo v
různých zdrojácích, jak se tady nešetří. Například se hodně používá
Int32, i tam kde maximální hodnota nikdy nedosáhne ani maxima BYTE. Nebo char
je unicode přesto, že to někdy není potřeba... No si asi budu muset u c#
trochu jinak stanovit priority.:)
Ano, StringBuilder jsem už zaregistroval a líbí se mi. Myslím při vhodném
použití může cyklus hodně urychlit.
Díky všem za reakce.
Zobrazeno 11 zpráv z 11.