TABy nebo mezery? Co používáte? rubrika: Programování: JavaScript

3 pykasonet
položil/-a 22.5.2013
 
upravil/-a 22.5.2013

Ahoj,
co používáte pro formátování svých JS souborů?

Používáme více externích projektů a každý to má jinak. Proto hledám menší zlo a zajímají mě postřehy ostatních.

Komentáře

  • honzajavorek : Fascinuje mě, jak tady polovina odpovědí motá dohromady TAB jakožto ASCII znak a TAB jakožto stisk klávesy -->| na jejich klávesnici. To druhé totiž vůbec nic nevypovídá o tom, jaké znaky se vyskytnou v souboru, kolik jich bude, apod. :-) No byla to dobrá zábava na siestu. 13.9.2013
  • Kit : Při inteligenci Vimu nemusím na klávesu Tab prakticky sáhnout, takže se spíš asi myslí uložený znak v souboru. 13.9.2013
odkaz
7 Tomáš Tichý
odpověděl/-a 23.5.2013
 
upravil/-a 31.5.2013

Zásadou je taby a mezery nemíchat a držet se toho, co je nejpoužívanější. Proč? Protože je to jen otázka estetiky, která se dá skousnout. Navíc většina inteligentních editorů umožňuje přizpůsobit si vše jak je potřeba. Není problém mačkat tabulátor s tím, že vám ho editor změní na patřičný počet mezer. Datlování do mezerníku je úsměvné. Hlavně nechápu snahu programátorů razit si svou cestu.

JS: v Node.js jsou preferovány 2 mezery, tak bych se držel toho. Stejně tak to dělá Google nebo CoffeScript. (https://npmjs.org/doc/coding-style.html)

Python: PEP8 doporučuje 4 mezery, není co řešit. (http://www.python.org/dev/peps/pep-0008/)

PHP: Zend nařizuje 4 mezery. A ať už si o něm myslíme, co chceme, tohle není problém dodržet. Nette upřednostňuje tabulátory, ale upřímně - David Grudl si rád všechno dělá po svém. Pear také předpisuje 4 mezery. (http://framework.zend.com/manual/1.12/en/coding-standard.php-file-format..., http://pear.php.net/manual/es/standards.indenting.php, https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-codi...)

HTML, CSS: Google doporučuje 2 mezery (http://google-styleguide.googlecode.com/svn/trunk/htmlcssguide.xml)

C#: Microsoft předepisuje 4 mezery (http://msdn.microsoft.com/en-us/library/vstudio/ff926074.aspx)

Java: Oracle upřednostňuje 4 mezery, ale nevynucuje je. Four spaces should be used as the unit of indentation. The exact construction of the indentation (spaces vs. tabs) is unspecified. (http://www.oracle.com/technetwork/java/javase/documentation/codeconventi...)

Komentáře

  • vojtechdobes : Nette nenařizuje, ale upřednostňuje tabulátory. 24.5.2013
  • Tomáš Tichý : V Coding Standards (http://doc.nette.org/en/coding-standard) jsou uvedeny tabulátory. Jasné, že coding standards jsou jenom doporučení. Ale myslím, že je zřejmé, co jsem tím chtěl říct. David Grudl k tomu koneckonců říká, že je to vlastně jedno (http://forum.nette.org/cs/3089-mezery-nebo-tabelatory#p22511) 24.5.2013
  • musa : Java: The exact construction of the indentation (spaces vs. tabs) is unspecified. Opravit!! :) 24.5.2013
  • mmizera : php ma uz pozadovane 4 medzery podla psr-1 myslim. Ale osobne s tym nesuhlasim, nikto mi nikdy nepovedal ziadny relevantny dovod, pre ktory by medzera prevazila nad tabom. 31.5.2013
  • Tomáš Tichý : nesouhlas chápu. Nicméně pouhý nesouhlas podle mne není důvod nedržet se standardu. Nebuďme anarchističtí programátoři ;) 31.5.2013
  • Anonym : škoda, že nejdou upvotovat komentáře. :) 31.5.2013
  • v6ak : Asi jsem anarchista. Pro mě nemá váhu standard, ale vzájemná domluva. Případně zdravý rozum, pokud to mohu ovlivnit. 31.5.2013
  • Honza Břešťan : Ale prece standard je v podstate domluva. Neni realne, aby se domlouvali uplne vsichni a celou dobu - misto toho nekdy nekde probehla debata (nebo se autor/"majitel" jazyka nejak rozhodl) a to by tu domluvu melo zastoupit. Zdravy rozum tu moc nehraje roli, kazdy si obhaji ten svuj zpusob, jak je pekne videt v odpovedich, a nakonec se nikdo s nikym osobne nedohodne. Doporuceni shora pak umozni rychle zaclenit novacky do majoritniho zpusobu odsazovani a pokud nikdo na projektu nema kromobycejnou snahu prosadit neco jineho, je to i dobry vychozi bod pro rychle urceni coding style. Ostatne taky ma kazdy jazyk TrochuJinyZpusob jak_psat __ruzneIdentifikatory, ze jo... 31.5.2013
  • v6ak : Většina jazyků to právě nespecifikuje, je to maximálně doporučeno. Pak je otázka, kdo bude na kódu pracovat. Jestli jen já, pár lidí, větší tým, ... Ano, je pravda, že u větších týmů bude domluva asi směřovat spíše k obvyklejším řešením. Ale pořád to bude domluva. 31.5.2013

Pro zobrazení všech 27 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.