Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Riff 30. 01. 2013, 15:53:33

Název: Co říkáte na kód bootstrapu?
Přispěvatel: Riff 30. 01. 2013, 15:53:33
Zdravím. Říkal jsem si, proč nezkusit Twitter Bootstrap, když je kolem tolik rozruchu. Vypadalo to celkem dobře, než jsem se podíval do kódu. Nejen že všude chybí středníky, ale celý kód je ehm, divně formátovaný a hlavně prolezlý roztodivnými konstrukcemi.

Pár příkladů:

Kód: [Vybrat]
Dropdown.prototype = {

    constructor: Dropdown

  , toggle: function (e) {
      var $this = $(this)
        , $parent
        , selector
        , isActive
...

Ok, vypadá to jak kdyby to psal retard, ale proč ne.

Kód: [Vybrat]
!isActive && $parent.toggleClass('open')

To už je podstatně horší, prostě zneužívání vlastností jazyka způsobem, ke kterému nejsou určeny.

Kód: [Vybrat]
!function($) {...}(jQuery)

Tohle už je na mě moc - prefixovat booleovským operátorem, abych nemusel psát středník, to je vrchol kreténismu.

A mohl bych pokračovat hodně dlouho. Co si o tom myslíte vy? Podle mě autor žije v domnění, že psát kód tímhle stylem je neuvěřitelně kchůl a neuvědomuje si, jaký je ve skutečnosti prase.

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
- Martin Fowler
Název: Re:Co říkáte na kód bootstrapu?
Přispěvatel: bbbb 30. 01. 2013, 16:04:18
:) myslim ze mas pravdu, vela krat ked si pozeram rozne projekty naslepo napr. na github-e, tak si zacinam mysliet ze som nejaky programatorsky analfabet ze mam proble rozumieti, co tym chcel basnik povedat, ono to moze byt aj naopak, ze ti ludia to proste pisat nevedia
Název: Re:Co říkáte na kód bootstrapu?
Přispěvatel: bbbb 30. 01. 2013, 16:05:14
proble rozumieti

*problem rozumiet
Název: Re:Co říkáte na kód bootstrapu?
Přispěvatel: lons 30. 01. 2013, 16:20:39
pozri sa na to z druhej strany. programujes predsa v userspace.

 funguje to ? funguje. tak kde je problem??
Název: Re:Co říkáte na kód bootstrapu?
Přispěvatel: AlyoSHA 30. 01. 2013, 16:51:43
To je zly pristup.  Taketo kriteria su dobre pre patlanie ktore nechces poslat do sveta.  V opacnom pripade je slusnost pisat kod ktoremu bude rozumiet aj niekto iny ako autor. U par projektov som si vsimol ze autor nielenze pouziva divne konstrukcie, ale komentare povazuje za zbytocny luxus. (asi by sa mu kod s komentarom zdal uz pridlhy)
Název: Re:Co říkáte na kód bootstrapu?
Přispěvatel: Riff 30. 01. 2013, 16:53:24
Citace
funguje to ? funguje. tak kde je problem??

Tak účel to plní, o tom žádná. Mám s tím jenom trochu psychologický problém, že ten kód je prostě humus.
Název: Re:Co říkáte na kód bootstrapu?
Přispěvatel: pet 30. 01. 2013, 17:10:32
Neviděl bych to tak černě.. Použití guard operatoru je celkem běžné, stejně tak jako defaultu:

Kód: [Vybrat]
function x(type) {
   type = type || 'normal'
}
http://seanmonstar.com/post/707078771/guard-and-default-operators

Vykřičník před definicí funkcí není prefix, ale další možnost jak hned funkci zavolat bez pouziti zavorek:
Kód: [Vybrat]
function() {}() // chyba
(function(){})() // OK ale hodne zavorek
!function(){}() // OK, vyhodnoceno jako vyraz

http://stackoverflow.com/questions/3755606/what-does-the-exclamation-mark-do-before-the-function
Název: Re:Co říkáte na kód bootstrapu?
Přispěvatel: Riff 30. 01. 2013, 17:47:52
Jako default to beru, jako náhradu if rozhodně ne(v uvedeném případě ani ta podmínka není potřeba, $.toggleClass má parametr switch). V nepřehledném využití vedlejšího efektu operátoru místo napsání dvou závorek nevidím žádný přínos... Navíc to bylo jenom pár příkladů, našlo by se tam toho víc. Co mě ovšem zaráží nejvíc, je nepoužívání středníků v celém kódu. Je to další zneužití vlastnosti jazyka(Automatic semicolon insertion) a kromě náchylnosti k chybám to nic nepřináší. Samozřejmě to všechno funguje, ale je to nepřehledné. Když si můžu vybrat mezi přehlednějsím kódem a ušetřením jednoho řádku(nebo dokonce jednoho znaku), tak volím první možnost.