Autor Zpráva
ybznek
Profil
Ahoj. Když píšu nějaký kód, tak se ho snažím psát přehledný, ale prostě nevím, kde ty whitespace dávat.

třeba CSS píšu
body
  {
    text-align:center;
    font-family: arial;
    margin: 0px;
    padding: 0px;
    background-color: #F6F6F6;
  }

ale většina lidí, co znám ho píše nějak takhle
body{
 text-align:center;
 font-family: arial;
 margin: 0px;
 padding: 0px;
 background-color: #F6F6F6;
}


který způsob psaní CSS vám přijde lepší?
neznáte nějakou knihu, článek,... jak psát (nejen CSS) kódy?
Ghosting
Profil
To piš jak se ti to líbí ne?
Já osobně ho mám v jednom řádku
body {text-align:center; font-family: arial; margin: 0px;padding: 0px; background-color: #F6F6F6;}

a patričně okomentovaný.
Měsíček
Profil
"neznáte nějakou knihu, článek,... jak psát (nejen CSS) kódy?"

Je hloupost nutit styl kódu.

Já používám:
#identifikator {

  width     : 400px;
  height    : 300px;
  background: url("fix.png");
  margin    : 0px 3px 4px 5px;
  padding   : 40px 40px 20px 1px;
  float     : left;
  
}
a nebo:
#identifikator {

  width: 400px;
  height: 300px;
  background: url("fix.png");
  margin: 0px 3px 4px 5px;
  padding: 40px 40px 20px 1px;
  float: left;
  
}

Timy
Profil
Měsíček
Je hloupost nutit styl kódu.
Hloupost to není, je to podstatná část práce programátora/kodéra nepsat jako prase. Přímo konkrétní zápis většinou není třeba dodržovat, nicméně bych si tipl, že solidnější firmy budou mít sjednocený styl zápisu takřka všeho. Částečně o tom píše tato kniha — http://knihy.heureka.cz/co-programatory-ve-skole-neuci/ — ale přímo ukázkové zápisy kódů tam asi nejsou.
Měsíček
Profil
Timy
"Hloupost to není, je to podstatná část práce programátora/kodéra nepsat jako prase."
Jenže mít svůj styl a psát jako prase je trochu rozdíl :)
ybznek
Profil
Měsíček
ten tvůj první zápis bych s menśi úpravou zkusil

btw. tak CSS v podstatě obsahuje "pořád to stejné", ale tŕeba když dělám v PHP, tak už kód mívám dost nepřehledný a nevím, co s tím...
Měsíček
Profil
"ale tŕeba když dělám v PHP, tak už kód mívám dost nepřehledný a nevím, co s tím..."
Používej tabulátory :)

Tohle se IMHO číst ještě dá :)

<?php

  $x = 2;
  $y = 4;
  $z = 5;
  
  if($x == $x){
    if($y == $y){
      if($z == $z){
        for($x = 2; $x < 30; $x++){
          echo $x;
        };
      };
    };
  } else {
    echo "Něco";
  };
?>
ybznek
Profil
Měsíček
právě, źe tabulátory používám ;) ale nevím, kdy ho pouźit a kdy ne :(
imploder
Profil
já píšu takhle:
funkce (arg1, arg2, arg3...) {
  příkaz; příkaz;
  další...;
} 

ybznek
ale většina lidí, co znám ho píše nějak takhle
jj, jenom jedna mezera je truchu málo. V učebnici C od Herouta radí mezery dvě, prý je to vyzkoušený ideální počet.
body {
  text-align:center;
  font-family: arial;
  margin: 0px;
  padding: 0px;
  background-color: #F6F6F6;
}
ah01
Profil
CSS:
CSS má jednoduchou strukturu, takže tam o tolik nejde. Každopádně doporučení existují:

– sekce 1.2 na stránce http://www.smashingmagazine.com/2007/05/10/70-expert-ideas-for-better- css-coding/ a dále odkazované stránky

PHP:
Každý programovací jazyk či framework, PHP nevyjímaje, má své konvence pro psaní kódu a bývá dobrým zvykem programátora se jich držet. Při práci ve více lidech je to nezbytnost. Nejedná se jen o odsazování ale např. i o psaní velkých/malých písmen atd. Česky se to označuje za „štábní kulturu“.

http://pear.php.net/manual/en/standards.php
http://nettephp.com/cs/coding-standard
http://php.interval.cz/clanky/zend-framework-stabni-kultura/

popř. http://en.wikipedia.org/wiki/Coding_standard


Měsíček
Hloupost to určitě není.
Měsíček
Profil
"jj, jenom jedna mezera je truchu málo. V učebnici C od Herouta radí mezery dvě, prý je to vyzkoušený ideální počet. "

Přesně tak, ovšem 1 tabulátor se většinou ty dvě mezery rovná (a pokud ne dá se to nastavit).
Dranel
Profil
No vidíte. Já zapisuji CSS takto:
body {
text-align:center;
font-family:serif;
margin:0;
padding:0;
background:#fff;
}

Z toho vyplývá, že se snažím co nejvíce šetřit s bajtíky a přitom zachovat přehlednost.
Timy
Profil
Měsíček
Jenže mít svůj styl a psát jako prase je trochu rozdíl :)
Ne nutně, můžeš mít svůj styl a psát jako prase. Zdravím ghostinga ;-). Navíc jak jsem psal — u některých firem tě z vlastním stylem pošlou do háje a dostaneš předepsaný styl psaní. Z toho vychází, že je nejlepší psát tak, aby ses tomu vysněnému formátování u firem alespoň co nejvíce přiblížil :-).
Nox
Profil
Z toho vyplývá, že se snažím co nejvíce šetřit s bajtíky a přitom zachovat přehlednost.
Jedinej datově neideální odhad při ukládání obrázků a šetření na všech textových souborech je vniveč, nemá to cenu

Přehlednost by měla být nesrovnatelně přednější, pokud už by až tak šlo o tu trochu (na silně vytíženém webu třeba),
tak se může finální verze, co je na webu, ořezat o veškeré mezery (a na disku si je nechat)
ah01
Profil
Asi na to stejně přijde za chvíli řeč:

Tabulátor vs. mezery:

Každý editor dnes umí zvolit, jestli používat pro odsazování tabulátor nebo mezery. Tedy pokud se rozhodneme pro mezery, nebudeme odsazovat zběsilým mačkáním mezerníku, ale nastavíme si editor tak, aby při stisku klávesy „tab“ vložil např. 2 mezery. Stejně tak je možné nastavit délku tabulátoru, např. aby byl tabulátor dlouhý 2 mezery. Tedy editor nám umožňuje obě možnosti.

Co je, ale lepši?
Tabulátor je fyzicky jeden znak, takže jeho výhodou je, že budete mít trochu menší kód (velikost). Což je asi jediná výhoda, která mě napadá. Problém je totiž to, že jeho délka zobrazení, závisí na nastavení systému/editoru. U vás bude kód pěkně úhledný, ale pokud jej otevřete na jiném počítači, bude vše rozházené a nikdo se v tom nevyzná.

Odsazování používáme kuli tomu, aby byl kód na první pohled přehledný. V případě použití tabulátoru tomu tak být vždy nemusí. Proto se doporučuje používat spíše mezery. Běžně se používají 2 mezery, jak už zde padlo.

Asi namítnete, že argument velikosti je u HTML, CSS a JS podstatný (Dranel). Na prvním místě by ale měla být přehlednost kódu a pak až „to ostatní“. Jazyky jak Java, C apod. se kompilují, takže formátování zdrojového kódu výsledek neovlivní. HTML apod. můžeme komprimovat (Tidy, YUI Compressor) a běžně se to dělá (koukněte do kódu vašich oblíbených stránek – seznam, google, yahoo, … jestli uvidíte odsazení nebo komentáře).

Měsíček
Navíc ty větší firmy nejen, že mají daný interní standard pro formátování kódu, ale mají i podpůrné nástroje, které kód kontrolují a případně formátují tak, aby požadavky splňoval. Takže tvůj vypiplaný formátovací styl půjde po prvním uložení stejně do kytek :-).
Měsíček
Profil
"Takže tvůj vypiplaný formátovací styl půjde po prvním uložení stejně do kytek :-)."

To je pravda :), názorná ukázka třeba ve validátoru CSS.
imploder
Profil
Je pravda, že u CSS je skoro jedno jestli se to odsadí nebo ne, protože se nezanořuje. Indentifikátory a složené závorky samy o sobě obsah jasně člení. Takže Dranelův zápis CSS bych rozhodně nezavrhoval.
ybznek
Profil
tak já jsem zvyklý dávat ten tabulátor ale vkládá mi to již zmíňené 2 mezery...
ah01
díky za linky, škoda že jsou anglicky, ale já to nějak přelouskám
Timy
Profil
ah01
Právě že když se otevírají tabulátory, tak ať otevřu jakýkoliv kód, tak ho mám vždy přehledně naformátovaný podle mých zvyklostí. Jak mám jednoduše u mezer zařídit, aby se mi odsazení zdvojnásobilo? Tabulátor zvládá snad každý editor, nastavení délky tabulátoru taky, takže v tom nevidím problém. Používat mezery na odsazení je asi stejné jako používat při tvorbě webu na odsazení <blockquote>…
ah01
Profil
Timy
Problémem jsou místa s vertikálním zarovnáním. Např.
$sql = "SELECT `id`, `name` FROM `people` "
     . "WHERE `name` = 'Susan' "
     . "ORDER BY `name` ASC ";
z toho pak vznikne něco jako
$sql = "SELECT `id`, `name` FROM `people` "
         . "WHERE `name` = 'Susan' "
         . "ORDER BY `name` ASC ";
Což už není tak přehledné. Tohle ještě není tak hrozné, co by ale vzniklo asi z
$search      = array('a',   'b',   'c',   'd',   'e');
$replacement = array('foo', 'bar', 'baz', 'quux');
//Another example:
          $value = 0;
   $anothervalue = 1;
$yetanothervalue = 2;
Čistě s tabulátorem by tohle ani nešlo napsat.

Osobně dávám přednost mezerám, a tohle je ten důvod.
Timy
Profil
ah01
OK, v těchto případech ano, ale já nemyslel „zarovnání ať to vypadá jako hezká tabulka“, ale běžné odsazování kódu, jako například:

if( prsi )
{
	if(getDestnik())
	{
		// nedelej nic
	{
	else
	{
		if (jsem_z_cukru)
		{
			stayHome=true;
		}
		else
		{
			stayHome = FALSE ;
		}
	}
}
Str4wberry
Profil
CSS mi přijde nejlepší psát do jednoho řádku. Soubor tak není tolik dlouhý, je lépe využitý prostor monitoru. Nemusím neustále rolovat. Měsíčkův způsob mi přijde nejhorší — je moc pracný a tolik, aby se to vyplatilo, na přehlednosti nepřidá.

Teď to vidíš, Timy. Nakopíruješ tabulátorem odsazovaný text do Diskuse JPW a ten je zbytečně moc odsazen. S mezerami by se to nestalo.
imploder
Profil
ah01
to je taky jedna z výhod neproporcionálního písma
imploder
Profil
Str4wberry
na JPW se tabulátory ani nedají psát, nemůžu používat Tab při psaní do políčka formuláře
Miloš
Profil
Str4wberry
CSS mi přijde nejlepší psát do jednoho řádku. Soubor tak není tolik dlouhý, je lépe využitý prostor monitoru. Nemusím neustále rolovat.
Naprostý souhlas; přesně takhle píšu: http://kesolim.sweb.cz/TMP/css.html

imploder
na JPW se tabulátory ani nedají psát, nemůžu používat Tab při psaní do políčka formuláře
Předpokládám ale, že ho můžeš vložit.
EDIT: aha, tak máš pravdu, po vložení se změní na mezery

EDIT2: ono to možná jako tabelátor funguje v <pre>:
Předpokládám	ale,	že	ho	můžeš	vložit.
Měsíček
Profil
"na JPW se tabulátory ani nedají psát, nemůžu používat Tab při psaní do políčka formuláře"

Jestli chceš použít tabulátor tak piš příspěvky jinde.

imploder
	imploder
imploder	imploder
	imploder	imploder
imploder	imploder
	imploder
imploder

Vaše odpověď

Mohlo by se hodit

Příspěvky nesouvisející s webem budou odstraněny.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: