Články na téma „spravovatelnost kódu”


18. 12. 2009

Názvy tříd v CSS a přehnaná láska k sémantice

„Sémantický web” je prý v kolizi s pojmenováváním tříd v CSS podle vzhledu prvku. Vážení sémantičtí maniaci, ukážu vám případ kdy vaše náboženství neplatí.

Cituji z článku Roberta Nymana o objektovém CSS:

As you might be aware of, using good semantics is very important to me, and when it comes to both elements being used as well as the naming of CSS classes, I believe it should contain a meaning for what it will contain. OOCSS contains class names like .leftCol, .rightCol, .body, .h1, .h2 etc. And to me, and what I believe is to be in line with the notion of the semantic web, is that one of the fundamentals with CSS class names is to not use class names which describes the actual presentation/layout, but rather what it will contain.

But, I suggested using other names that would have more meaning and be easy to understand at the same time, like .main-heading, .complementary etc. The reply I got was that she had tried it, but “It was too hard for people to remember it”. And that I’m mot just buying. Sure, .rightCol might be a tad easier to remember, but just going the easiest route time doesn’t always make it right.

Všimněme si, že autoři se při argumentaci k používání obsahově popisných názvů tříd zaštiťují správností a odkazem na sématických web. Ale co je správné, pro koho a v jaké situaci, že?

Myšlenka sémantického webu — jako světa kde stejný typ informací je stejným způsobem označen — je samozřejmě ve velkém množství situací užitečná. Musí ale usnadňovat orientaci v kódu za účelem pochopení obsahu nejen strojům, ale především lidem.

Nicolle Sullivan, autorka OOCSS, se rozhodla, že názvy tříd v jejím CSS frameworku budou blíže vizuálnímu vnímání (říká hezky „vizuální sémantika”) než klasicky vnímané sémantice obsahové. Tedy .leftCol raději než .complementary.

Být autorem CSS frameworku — tedy technologie jejíž použití vnímám nikoliv univerzálně, ale velmi specificky — rozhodnu se stejně.

Argumentem mi bude právě čitelnost a zapamatovatelnost. Vždyť jak jinak bych chtěl svůj framework rozšířit mezi lidi! Jak jinak bych chtěl, aby jej bez manuálu v knižním vydání a vyfintěných PDF-taháků na populárních webdesignérských serverech používal také někdo jiný než autor sám?

V HTML/CSS kódu psaném na míru obsahu dávám vždy přednost pojmenování tříd takovému, aby co nejvíce odpovídaly významu obsahu, ale v konkrétních případech je lepší dát přednost popisu vizuální prezentace.

Nedělejme ze sémantiky univerzálně platné náboženství. Žádné takové neexistuje ani ve webdesignu.

Komentáře

Tagy: css sémantika spravovatelnost kódu css frameworky články

9. 12. 2009
Editor vás odmění za komentovaný kód — komentáře zobrazované v našeptávači se seznamem funkcí, to je (pro uživatele PSPadu) skvělá vlastnost IDE Aptana. Doporučuji celý článek o čitelném kódu na Net Tuts +, psaný sice PHP programátorem, ale s myšlenkami platnými obecně.

Editor vás odmění za komentovaný kód — komentáře zobrazované v našeptávači se seznamem funkcí, to je (pro uživatele PSPadu) skvělá vlastnost IDE Aptana. Doporučuji celý článek o čitelném kódu na Net Tuts +, psaný sice PHP programátorem, ale s myšlenkami platnými obecně.

Komentáře

Tagy: ide spravovatelnost kódu

23. 11. 2009

Lepší být první než poslední (CSS třídy .first a .last v praxi)

Třídu .last používá mnoho kodérů (a CSS frameworků) pro označení posledního prvku řady, který má nést odlišné vlastnosti.

CSS:

.column
{
float: left;
margin-right: 20px;
width: 300px;
}

.last
{
margin-right: 0;
}

HTML:

<div class="column">...</div>
<div class="column">...</div>
<div class="column last">...</div>

Není to ale nejlepší nápad. Představte si, že HTML kód bude velmi strukturovaný nebo prvků třídy .column desítky. Pak si představte, že takhle složitý kód psal někdo jiný a že se jej snažíte pochopit.

Odlišovací třídu na prvku posledním najdete mnohem hůře než na prvku prvním.

Doporučuji proto výjimky vždy přidávat na první prvky pole. Tedy v HTML:

<div class="column first">...</div>
<div class="column">...</div>
<div class="column">...</div>

Namísto třídy .first si do úvahy samozřejmě klidně dosaďte standardní pseudotřídu :first-child, pokud se nekamarádíte s IE6.

Komentáře

Tagy: css html spravovatelnost kódu

13. 8. 2009

Blueprint CSS tip: změna velikosti písma nebo výšky řádku

Ach ta matematika. Při používání Blueprintu nepotřebujete složité tabulky, abyste dokázali velikost písma v pixelech převést do jednotek em nebo procent.

Nepotřebujete ani složitou matematiku. Stačí si zapamatovat, že — pokud jste nenastavili jinak nebo v rodičovských prvcích nepřenastavili — základní velikost písma odpovídá 12 a základní výška řádku pak 16 pixelům.

Když máte (v PSD například) 20px velikost písma, jednotku em prostě vypočtěte takto:

20 / 12 = 1.667em

Komentáře

Tagy: blueprint-css css css-frameworky spravovatelnost kódu

Veřejná školení
Webexpo Academy, Praha

HTML5 & CSS3
29/5
Mobilní
webdesign
18/6