<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Kódování &#8211; Medio Blog</title>
	<atom:link href="https://blog.medio.cz/stitky/kodovani/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.medio.cz</link>
	<description></description>
	<lastBuildDate>Mon, 29 Aug 2016 08:26:31 +0000</lastBuildDate>
	<language>cs</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.1</generator>
	<item>
		<title>Robots.txt neslouží k zákazu indexace stránek</title>
		<link>https://blog.medio.cz/zakaz-indexace</link>
					<comments>https://blog.medio.cz/zakaz-indexace#comments</comments>
		
		<dc:creator><![CDATA[Jan Tichý]]></dc:creator>
		<pubDate>Tue, 27 Jan 2015 06:00:49 +0000</pubDate>
				<category><![CDATA[Internetový marketing]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Indexace]]></category>
		<category><![CDATA[Kódování]]></category>
		<category><![CDATA[Robots.txt]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Seznam.cz]]></category>
		<category><![CDATA[Vyhledávače]]></category>
		<guid isPermaLink="false">https://blog.medio.cz/?p=2466</guid>

					<description><![CDATA[Jeden z nejčastějších omylů, kterého se dopouští i zkušení SEO harcovníci, je využití standardu robots.txt pro zákaz indexace stránek. Zapamatujte si jednoduché pravidlo. Robots.txt neslouží k zákazu indexace stránek. Nikdy a ani trochu. A naopak může uškodit.]]></description>
										<content:encoded><![CDATA[<p>Jeden z nejčastějších omylů, kterého se dopouští i zkušení SEO harcovníci, je využití standardu <a href="http://www.robotstxt.org/">robots.txt</a> pro zákaz indexace stránek:</p>
<p></p><pre class="crayon-plain-tag">User-agent: *
Disallow: /</pre><p> </p>
<p>Zapamatujte si jednoduché pravidlo. <strong>Robots.txt neslouží k zákazu indexace stránek.</strong> Nikdy a ani trochu. A naopak může uškodit.</p>
<h2>Indexace versus crawlování</h2>
<p>Pro pochopení je nutné znát rozdíl mezi crawlováním a indexací. <strong>Crawlování</strong> znamená, že se robot vyhledávače prochází po vašem webu a stahuje si k sobě od vás jednotlivé stránky pro další zpracování.</p>
<p><strong>Indexace</strong> je pak sestavování indexu &#8211; tedy databáze, ve které fulltext po zadání dotazu hledá. Do indexu přitom zařazuje stránky a informace o nich získané nejen z crawlování, ale i z dalších zdrojů, které vyhledávači přijdou zajímavé a užitečné.</p>
<p>Typicky už jenom tím, že se na nějakou konkrétní stránku odkazuje odjinud, dostává vyhledávač o dané stránce řadu zásadních informací &#8211; link text odkazu, klíčová slova v její URL, tematický kontext, ze kterého se na ni odkazuje, podobu a sílu jejího odkazového profilu. Další údaje může získat z popisků či kategorií v katalozích, do kterých je stránka zařazena. A tak dále.</p>
<h2>Co je na zákazu indexace přes robots.txt špatně?</h2>
<p>Robots.txt nezakazuje zařazení dané stránky do indexu, ale jen a <strong>pouze její crawlování robotem vyhledávače</strong>. Říkáte tím tedy, že si na danou URL nesmí crawler přímo sáhnout a stáhnout si k sobě její obsah.</p>
<p>Vyhledávače si ale i <strong>nadále můžou zařadit stránku do indexu</strong> jen na základě dalších údajů z jiných zdrojů a nabízet ji ve výsledcích hledání. A skutečně to velice často dělají:</p>
<p><a href="https://www.alza.cz/Secure/LoginSSL.aspx"><img fetchpriority="high" decoding="async" class="aligncenter wp-image-2472 size-full" src="https://blog.medio.cz/wp-content/uploads/Snímek-obrazovky-2015-01-26-v-17.07.07.png" alt="Snímek obrazovky 2015-01-26 v 17.07.07" width="519" height="104" srcset="https://blog.medio.cz/wp-content/uploads/Snímek-obrazovky-2015-01-26-v-17.07.07.png 519w, https://blog.medio.cz/wp-content/uploads/Snímek-obrazovky-2015-01-26-v-17.07.07-300x60.png 300w" sizes="(max-width: 519px) 100vw, 519px" /></a></p>
<p>Je vidět, že informace, které Google o stránce na SERPu zobrazuje, nepochází ze samotné stránky, ale právě z nějakého link textu a dalších zdrojů v okolí dané stránky. Všimněte si, že vyhledávač uživatele upozorní, že o stránce má jenom dílčí neúplně informace. Ale i přesto ji indexuje, nabízí a zobrazuje.</p>
<h2>Jak tedy správně zakázat indexaci?</h2>
<p>Správný zákaz indexace závisí na kontextu a důvodech, proč to vlastně vůbec chcete dělat:</p>
<h3>Link rel=canonical</h3>
<p>V případě, kdy máte na webu duplicity nebo silné podobnosti, které nelze vyřešit sloučením všech stránek v jedinou a přesměrováním ostatních přes HTTP 301, je místo zákazu všech duplicitních variant lepší použít meta značku canonical:</p><pre class="crayon-plain-tag">&lt;link rel=&quot;canonical&quot; href=&quot;http://www.example.com/my-canonical-page&quot;/&gt;</pre><p>Nejedná se o zákaz indexace v pravém slova smyslu, ale spíš o nezávaznou nápovědu vyhledávači, kam by měl všechny duplicitní a podobné stránky kanonizovat. Výhodou je, že pokud na to vyhledávač přistoupí, koncentruje do navržené kanonické stránky odkazy a rank ze všech takto označených stránek. Nevýhodou je, že to vyhledávač nemusí vůbec respektovat.</p>
<h3>Meta robots noindex</h3>
<p>Tohle je ta správná, čistá a bezpečná metoda, jak skutečně zakázat indexaci dané stránky. Do její HTML hlavičky přidáte meta značku:</p><pre class="crayon-plain-tag">&lt;meta name=&quot;robots&quot; content=&quot;noindex&quot;/&gt;</pre><p>Využijete to v případě stránek, na které vůbec nechcete, aby vám uživatelé chodili z vyhledávačů napřímo. Typicky třeba kroky nákupního procesu nebo děkovací stránky po odeslání konverze. Čistě pro jistotu i všechny stránky s nějakými neveřejnými citlivými údaji, i přesto, že ty máte určitě všechny dávno schované za přihlášením.</p>
<p>Po meta robots noindex sáhnete i v případě, kdy se reálně potýkáte s duplicitami či podobnostmi, ale vyhledávač odmítá zohlednit navržený meta canonical. Nevýhodou je, že se vám pak rank tematicky nekoncentruje v ideální kanonické stránce, ale rozplizne se vám bezkontextově přes všechny odchozí odkazy do zbytku webu.</p>
<h3>HTTP hlavička X-Robots-Tag</h3>
<p>Alternativa k meta robots noindex. Jenom místo HTML zdrojáku se posílá přímo v HTTP hlavičkách v HTTP odpovědi od serveru:</p>
<p></p><pre class="crayon-plain-tag">HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(&hellip;)
X-Robots-Tag: noindex
(&hellip;)</pre><p></p>
<p>Čili v zásadě totéž jako meta robots noindex. Jenom je to složitější na implementaci – HTML tag vrazí do zdrojáku každý, HTTP hlavičky už jsou vyšší dívčí. A navíc písmeno X na začátku naznačuje, že je to nestandardní HTTP hlavička, takže nemusí být podporovaná zdaleka všemi vyhledávači. Takže meta robots noindex bude asi většinou lepší variantou.</p>
<p>Více viz článek <a href="https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag">Robots meta tag and X-Robots-Tag HTTP header specifications</a>.</p>
<h3>HTTP autentizace</h3>
<p>Zejména pro testovací verze vyvíjeného webu se místo zákazu indexace hodí <strong>skrýt paušálně celý web za HTTP autentizaci</strong>. To se zapíná obvykle přímo v konfiguraci daného webového serveru. Testovací verze webu se schová za heslo, takže na ni nevidí nikdo nepovolaný. Vedlejším efektem pak je, že je <strong>chráněna i před nechtěným zcrawlováním</strong> a indexací vyhledávačem.</p>
<p>Čistě formálně vzato, stejně jako u robots.txt platí, že ani HTTP autentizace přímo nezakazuje indexaci, jenom se crawler nedostane k samotným stránkám. U testovací verze webu se ale neočekává, že by měla nějaký smysluplný odkazový profil a vnější kontext, ze kterého by mohl vyhledávač čerpat další informace. A i kdyby ji nějakým omylem zaindexoval, tak příchozí návštěvníci z vyhledávače narazí nanejvýš tak na přihlašovací formulář. Takže pro náš účel poslouží HTTP autentizace zpravidla uspokojivě.</p>
<p>Výhodou je i to, že po překlopení webu na ostrou doménu se často meta robots nebo robots.txt zákazy zapomínají odstranit, takže vedou obratem k vypadnutí celého webu z indexu vyhledávačů. U HTTP autentizace je riziko nechtěného zapomenutí minimální.</p>
<h2>Pozor na chybné kombinace</h2>
<p>Teď už víte, že pro zákaz indexace slouží primárně meta robots noindex. Možná vás napadne, že pro jistotu to stejně navíc podpoříte současným zákazem v robots.txt. Čistě pro sichr, co kdyby, za to nic nedáte.</p>
<p>To je ale přeci úplně špatně! Jen si to srovnejte v hlavě. Tím, že robotovi zakážete přistupovat na vaše stránky, nemůže si stáhnout HTML zdroják, takže se ani <strong>vůbec nedozví o tom, že tam nějaký meta robots noindex je</strong>. V důsledku paradoxně může tyto stránky vesele indexovat a nabízet ve výsledcích hledání.</p>
<p>Robots.txt prostě opravdu nesmí být u zákazu stránek ani trochu.</p>
<p>Obdobně doprovodí řada lidí meta robots noindex ještě dalším parametrem nofollow. Přeci čím víc zákazů, tím jistější:</p><pre class="crayon-plain-tag">&lt;meta name=&quot;robots&quot; content=&quot;noindex,nofollow&quot;/&gt;</pre><p>Ve skutečnosti tím ale zakážete následování interních odkazů ze stránky dál a dost možná i přelévání ranku do zbytku webu. <strong>Vytvoříte tak černou díru na rank</strong>, což se vám může promítnout do nižších pozic obecně celého webu. Ale vy chcete zachovat a předat co nejvíce ranku, chcete, aby robot snáze objevil indexovatelný zbytek vašeho webu. Správný zápis je tedy:</p><pre class="crayon-plain-tag">&lt;meta name=&quot;robots&quot; content=&quot;noindex,follow&quot;/&gt;</pre><p>S tím, že follow je výchozí hodnota, takže ji můžete úplně vynechat. Nofollow smysluplně použijete opravdu tak jednou za sto let.</p>
<h2>A k čemu tedy v praxi využiju robots.txt?</h2>
<p>Zůstává otázka, k čemu tedy vlastně robots.txt je, když ne k zákazu indexace.</p>
<p>Je přesně k tomu, k čemu byl navržený. Tedy pro <strong>zákaz přímého přístupu robota na web</strong> nebo nějakou jeho dílčí stránku. To se občas hodí, sic zdaleka ne tak často, jak jste si mysleli.</p>
<p>Například pokud máte URL, jehož pingnutím se hlasuje v nějaké anketě, a nechcete, aby vám roboti při procházení vaším webem přičítali hlasy. Totéž platí pro jakékoliv trackovací a přesměrovací skripty, například pro počítání návštěvnosti nebo prokliků z reklamního systému:</p><pre class="crayon-plain-tag">User-agent: *
Disallow: /poll/vote
Disallow: /clickthru</pre><p>Roboty budete chtít někdy zakázat také z výkonnostních důvodů. Ať už na dílčích skriptech a stránkách, jejichž každé zobrazení představuje složitý výpočet náročný na serverové zdroje či vám prostě přijde zbytečné, aby si je vyhledávač stahoval:</p><pre class="crayon-plain-tag">User-agent: *
Disallow: /overkill-page</pre><p>Anebo třeba přes robots.txt můžete paušálně odříznout nějakého konkrétního robota, pokud je neukázněný a sestřeluje vám web:</p><pre class="crayon-plain-tag">User-agent: badbot
Disallow: /

User-agent: *
Disallow:</pre><p></p>
<h2>Pořád jenom roboti. A co lidi?</h2>
<p>Aby to bylo spravedlivé, máme tu pro zájemce jako bonus na závěr i <a href="http://humanstxt.org/CZ">standard humans.txt</a>.</p>
<p>Podívejte se například, jak si žijí humans.txt <a href="http://www.medio.cz/humans.txt">na našem Medio webu</a>!</p>
<h2>Související odkazy</h2>
<ul>
<li>Daniel Bradbury Dočekal: <a href="https://365tipu.wordpress.com/2015/04/16/tip106-robots-txt-k-cemu-neco-takoveho-je-a-proc-je-to-uzitecne/">Robots.txt? K čemu něco takového je? A proč je to užitečné?</a></li>
<li>Lindsay Wassell: <a href="https://moz.com/blog/serious-robotstxt-misuse-high-impact-solutions">Serious Robots.txt Misuse &#038; High Impact Solutions</a></li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.medio.cz/zakaz-indexace/feed</wfw:commentRss>
			<slash:comments>16</slash:comments>
		
		
			</item>
		<item>
		<title>Jak používáme Bootstrap</title>
		<link>https://blog.medio.cz/jak-pouzivame-bootstrap</link>
					<comments>https://blog.medio.cz/jak-pouzivame-bootstrap#comments</comments>
		
		<dc:creator><![CDATA[Václav Vracovský]]></dc:creator>
		<pubDate>Mon, 13 Jan 2014 07:00:50 +0000</pubDate>
				<category><![CDATA[Grafika a webdesign]]></category>
		<category><![CDATA[Bootstrap]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Kódování]]></category>
		<category><![CDATA[LESS]]></category>
		<guid isPermaLink="false">https://blog.medio.cz/?p=1246</guid>

					<description><![CDATA[Framework "Bootstrap":http://getbootstrap.com/ jistě není třeba představovat. Rád bych se s vámi v tomto článku podělil nejen o můj způsob používání Bootstrapu, ke kterému jsem se praxí propracoval, ale také o špatné postupy, které jsem v praxi viděl.]]></description>
										<content:encoded><![CDATA[<p>Framework <a title="Bootstrap" href="http://getbootstrap.com/">Bootstrap</a> jistě není třeba představovat, to za mě udělali jiní, nedávno například <a title="Martin Michálek na Zdrojáku" href="http://www.zdrojak.cz/clanky/k-cemu-je-dobry-bootstrap-frontend-frameworky/">Martin Michálek na Zdrojáku</a>. Rád bych se s vámi v tomto článku podělil nejen o můj způsob používání Bootstrapu, ke kterému jsem se praxí propracoval, ale také o špatné postupy, které jsem v praxi viděl. A protože žádný učený z nebe nespadl, někdy to budou i moje vlastní chyby.</p>
<h2>Několik dobrých návyků na úvod</h2>
<h3>Jedině s preprocesorem</h3>
<p>Používání Bootstrapu bez preprocesoru nelze nazvat jinak než slepou uličkou. Používat zbytečně celý vygenerovaný Bootstrap, když z něj využijeme jen několik málo procent, je špatný nápad. Tím spíše dnes, kdy se díky (nikoli <em><strong>kvůli</strong></em>) mobilnímu internetu musí znovu hledět na výslednou velikost stránek. Naklikat si potřebné komponenty a vygenerovat si CSS přímo ze stránek Bootstrapu je už lepší řešení, ale stále dost nešikovné. Nainstalovat si vše potřebné, co k používání preprocesoru potřebujeme, je otázka několika minut a benefity, které používáním preprocesoru získáme, jsou velké. A i když existují porty Bootstrapu do SASSu i Stylusu, je zdaleka nejlepší a určitě nejjednodušší používat <a title="nativní LESS" href="http://lesscss.org/">nativní LESS</a>.</p>
<h3>Nešťourat se v Bootstrapu</h3>
<p>Nedělat v LESS modulech Bootstrapu <strong>žádné</strong> změny je jednoznačně dobrý nápad, který oceníte při aktualizaci na novější verzi frameworku. Čestnou výjimku tvoří soubory <em><strong>bootstrap.less</strong></em>, kde se importují potřebné moduly, lépe řečeno zakomentují ty nepotřebné, a <em><strong>variables.less</strong></em>, ve kterém si můžeme Bootstrap &#8222;obléct&#8220; do svých barev a fontů, nastavit paddingy a mnoho dalšího.</p>
<h3>Zvažte, kdy je vhodné Bootstrap použít</h3>
<p>I když v poslední době používám Bootstrap téměř na vše, jednu čestnou výjimku jsem za poslední rok měl. Byl to atypický web, kde by bylo použití Bootstrapu spíše kontraproduktivní, proto jsem z něj použil pouze mixiny. Určitě je tedy dobré předem myslet také na to, zda je opravdu potřeba Bootstrap použít.</p>
<h3>Když už ho použijete, využijte ho</h3>
<p>Na naprostou většinu prvků, které &#8222;vypadnou&#8220; od grafika, můžete použít nějakou Bootstrap komponentu. A to platí i v případě, že grafik s použitím Bootstrapu předem nepočítal. Když už Bootstrap používáme, je z mnoha důvodů (<em><strong>budoucí úpravy, práce více lidí v týmu&#8230;</strong></em>) dobré maximálně využít jeho komponenty. Takže předtím, než začnete psát vlastní HTML, je dobré zamyslet se, zda je to opravdu potřeba.</p>
<h3>Neškrábat se pravou rukou za levým uchem</h3>
<p>Někdy je ale vlastní HTML nejlepší řešení. Je v grafickém návrhu prvek, u kterého váháte, jakou Bootstrap komponentu pro něj použít? Možná bude nejlepší nepoužít žádnou a napsat si HTML i CSS kompletně sám. Čím déle Bootstrap používám, tím více se snažím využívat maximálně využívat jeho komponenty, ale vlastní HTML je někdy to nejjednodušší a nejlepší řešení.</p>
<h2>Jak Bootstrap používáme u nás</h2>
<p>Prohlédněte si <a href="https://bitbucket.org/vencav/css-sample/src/e6de4db8e9c3?at=master">část našeho interního frameworku</a>, ve kterém vyvíjím nové šablony.</p>
<p>1) Ve složce <strong>/bootstrap</strong> jsou všechny LESS moduly Bootstrapu. A jak jsem psal výše, v této složce se vůbec nešťourám (zde dokonce bez výjimky).<br />
2) Ve složce <strong>/modules</strong> mám připravené vlastní LESS moduly &#8211; jsou tam ty &#8222;základní&#8220;, které používám na každém projektu. Projekt od projektu se pak rozhoduji, zda se pro přehlednost vyplatí přidat nějaké další.<br />
3) Poslání souboru <strong>ie8.less</strong> je myslím jasné už z jeho názvu a netřeba vysvětlovat. Jsem rád, že tento soubor zůstává poslední dobou téměř nebo úplně prázdný :-)<br />
4) Soubor <strong>main.less</strong> si zaslouží vlastní nadpis.</p>
<h3>main.less</h3>
<p>V tomto souboru se importují jednotlivé moduly, kompiluje se z něj také výsledné CSS. Nejdříve se naimportují potřebné Bootstrap moduly. Jak si můžete všimnout, &#8222;v základu&#8220; mám pouze ty nezbytné (<strong><em>scaffolding</em>, <em>grid</em>&#8230;</strong>) a ty &#8222;nezbytné&#8220; (<em><strong>forms, buttons</strong></em>), zbytek je zakomentovaný. Následně importuji svoje moduly, na závěr pak ty responzivní. Responzivní moduly jsou pojmenované tak, jak má své responzivní třídy/proměnné pojmenované Bootstrap, tedy se suffixem <em><strong>xs</strong></em>, <em><strong>sm</strong></em>, <em><strong>md</strong> </em>a <em><strong>lg</strong></em>.</p>
<h3>Popis jednotlivých souborů</h3>
<ul>
<li><strong>variables.less</strong> &#8211; toto je soubor, který v podstatě vždy upravuji jako první. Přepisuji zde hodnoty výchozích Bootstrap proměnných a také deklaruji vlastní proměnné.</li>
<li><strong>bootstrap.less</strong> &#8211; soubor s mírně matoucím názvem. Zde přepisuji CSS pro jednotlivé Bootstrap komponenty. Pokud je CSS u některé komponenty hodně rozsáhlé, pro přehlednost pro ni vytvořím samostatný modul.</li>
<li><strong>common.less</strong> &#8211; zde píšu všechno ostatní CSS. A stejně jako u předchozího bodu, pokud se to v zájmu přehlednosti vyplatí, vytvořím pro některé prvky vlastní modul. Běžně to bývá pro hlavičku, patičku, menu, boxy atd.</li>
<li><strong>responzivní moduly</strong> si zaslouží podrobnější představení.</li>
</ul>
<h3>Mobile first</h3>
<p>„První pravidlo <strong>Media queries</strong> je to, že žádná media queries nejsou,“ jak pravil <a href="http://akademie.medio.cz/responsive-webdesign">Honza Sládek</a>. A já si poslední dobou vzal jeho slova k srdci. Proto nejprve píšu CSS pro všechny prohlížeče/rozlišení a teprve nakonec přidávám styly pro různá rozlišení, počínaje <em><strong>sm</strong></em>, přes <em><strong>md</strong> </em>až po <em><strong>lg</strong></em>. Začnu u <em><strong>sm</strong> </em>rozlišení a postupně &#8222;přidávám&#8220; až k desktopu. Soubor <em><strong>responsive-xs</strong></em> je naopak pro nejmenší displeje &#8211; s mobile first přístupem bývá tento soubor často prázdný, ale občas je potřeba něco definovat jen pro malé displeje. Tolik krátká, leč velmi důležitá odbočka od Bootstrapu.</p>
<h2>Závěrem</h2>
<p>Tolik tedy o mém pohledu na Bootstrap a na práci s ním. Budu se těšit na vaše komentáře, ve kterých se můžete také podělit o své zkušenosti a workflow, které s Bootstrapem používáte.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.medio.cz/jak-pouzivame-bootstrap/feed</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>Hledá se vhodná třída. Zn.: Spěchá!</title>
		<link>https://blog.medio.cz/hleda-se-vhodna-trida</link>
					<comments>https://blog.medio.cz/hleda-se-vhodna-trida#comments</comments>
		
		<dc:creator><![CDATA[Václav Vracovský]]></dc:creator>
		<pubDate>Tue, 09 Aug 2011 19:44:42 +0000</pubDate>
				<category><![CDATA[Grafika a webdesign]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Kódování]]></category>
		<guid isPermaLink="false">https://blog.medio.cz/?p=223</guid>

					<description><![CDATA[Čím rozsáhlejší web, tím více CSS tříd. Některé jejich názvy mám už za léta používání zažité a jsou myslím jasně srozumitelné i pro nezávislého „čtenáře“ mých stylopisů. Ale co s dalšími a dalšími třídami, které u rozsáhlých projektů přibývají s každým dalším zpracovaným grafickým návrhem?]]></description>
										<content:encoded><![CDATA[<p>Čím rozsáhlejší web, tím více CSS tříd. **Některé jejich názvy mám už za léta používání zažité** a jsou myslím jasně srozumitelné i pro nezávislého „čtenáře“ mých stylopisů, například <code>container</code>, <code>content</code> nebo <code>sidebar</code>. Podle složitosti grafického návrhu případně doplněné o ocásek typu <code>-inner</code>, <code>-wrapper</code>&#8230; </p>
<p>Ale co s dalšími a dalšími třídami, které u rozsáhlých projektů přibývají s každým zpracovaným grafickým návrhem? V některých situacích už mi dochází fantazie, když musím **horko těžko vypotit další název třídy**. Podle grafického návrhu je většinou jasné, jakou bude stylovaný element plnit funkci, ale co s podobnými nebo třeba jen lehce změněnými elementy?</p>
<h2>Hrušky a Jablka kontra Ovoce</h2>
<p>Jako názorný příklad si vezměte tabulku obsahující hrušky. Dostane <code>class="hrusky"</code>, nějaké ty styly a hotovo, odjezd. Jenže ejhle, v dalším návrhu je tabulka, která vypadá úplně stejně jako předcházející s hruškami, ale obsahuje jablka. Co s tím? Nechat nelogický název třídy, nebo přepsat na <code>class="jablka"</code>? </p>
<p>Nejlepší by bylo dát oběma tabulkám <code>class="ovoce"</code>. Co když to ale z nějakého důvodu (šablona už je nasazená v aplikaci, muselo by se to přepisovat na X místech) nejde? Možná si také říkáte „Hloupý kodér, který nemyslí dopředu“, ale&#8230;</p>
<h2>Za kolik rohů má kodér nahlížet?</h2>
<p>Dobrý kodér by měl určitě za nějaký ten roh dopředu vidět, ale „vocaď pocaď“. Určitě by neměl jen tupě otevřít první  péesdéčko a odshora dolů nakódovat. Osobně se mi osvědčilo si nejdříve opravdu důkladně **prohlédnout drátové modely i grafické návrhy a zamyslet se nad nimi**. Chvíle rozjímání nad návrhy, než člověk otevře editor, se mi potom při kódování několikanásobně vrátí.</p>
<p>Ale přeci jen jsem placený za kódování, nikoli za rozjímání, takže někde musí být hranice, kdy musím svoje „co kdyby“ rázně utnout a začít kódovat. **Od jistého okamžiku už je cokdybování kontraproduktivní.** Lehko si s ním vykonstruuji situace, které nikdy nenastanou. </p>
<p>Vrátím-li se tedy k výše uvedenému hruškovému příkladu, pak tedy ano &#8211; mohl jsem vědět dopředu, že se může vyskytnout i tabulka s jablky a pojmenovat třídu obecněji. Ale co kdyby se jednou v tabulce objevily třeba okurky? Bramborové knedlíky? Vzducholodě? Vycházkové hole asi takhle dlouhé?</p>
<p>Myslím, že někde u okurek je dobré rozjímání skončit a pojmenovat třídu <code>potraviny</code>, byť by se to v budoucnu mohlo ukázat jako špatné rozhodnutí. </p>
<p>Ono nahlížení za roh se netýká jen takových triviálních věcí, jako jsou názvy tříd. Jsou tu i úvahy typu „A co by se asi stalo, kdyby ten nadpis byl delší než v návrhu?“ nebo „Co když tam **nebude** tenhle box?“ nebo „Co když tam **bude** nějaký box navíc?“</p>
<h2>A co vy?</h2>
<p>**Máte pod kůží nějaké pojmenovávací konvence?** Jaké názvy tříd používáte? Můžete (musíte) si je vymýšlet sami, nebo vaše firma v coding standards myslela i na HTML a CSS? **Za kolik rohů nahlížíte?** Budu rád za vaše komentáře!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.medio.cz/hleda-se-vhodna-trida/feed</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
	</channel>
</rss>
