IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Neaktivní uživatel:13.8.2014 17:31

Zdravím, zajímám se o programování a mám rád čistý a přehledný kód a proto se chci jen tak zeptat, co si myslíte, že je lepší: Složené závorky '{ }' anebo klíčové slovo (Např. 'End')?
Podle tohoto kódu mi to přijde skoro stejné, ale chci vědět i Váš názor:
class mujProgram
{
println ("Hello world!")
}
/////////////­///////////
class mujProgram
println ("Hello world!")
end

Odpovědět
13.8.2014 17:31
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Neaktivní uživatel:13.8.2014 17:38

Čistý a prehľadný kód sa dá napísať aj so zátvorkami aj s begin-end, ale asi nie náhodou používa väčšina jazykov zložené zátvorky :)

Nahoru Odpovědět
13.8.2014 17:38
Neaktivní uživatelský účet
Avatar
Martin Konečný (pavelco1998):13.8.2014 17:49

Mně se zápisy typu begin ... end nelíbí, raději mám složené závorky. Osobně mi to přijde o něco přehlednější.

Editováno 13.8.2014 17:49
Nahoru Odpovědět
13.8.2014 17:49
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Michal Žůrek - misaz:13.8.2014 17:53

záleží jaký end, ve Visual Basicu třeba musíš za end dodat co ukončuješ.

If podmine Then

End If

a to mi přijde přehlednější, protože vím co kde končí. Pokud se to trochu zanoři (typicky namenspace, třída, metoda, podmínka) složené závorky na konci souboru mohou vypadat následovně

            }
        }
    }
}

což i osobně nepřijde jako šťastné řešení, ale to je dost individuální.

 
Nahoru Odpovědět
13.8.2014 17:53
Avatar
Matěj Kripner
Tvůrce
Avatar
Matěj Kripner:13.8.2014 18:27

Určitě závorky. Dneska ti už každý normální editor zvýrazní jaké závorky k sobě patří.

 
Nahoru Odpovědět
13.8.2014 18:27
Avatar
Hartrik
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
Hartrik:13.8.2014 18:27

Pokud někdo neodsazuje, tak je už jedno v jakém jazyce píše.
Stejně tak může nastat toto:

End If
End If
End If
End If
 
Nahoru Odpovědět
13.8.2014 18:27
Avatar
Odpovídá na Hartrik
Michal Žůrek - misaz:13.8.2014 18:38

no já jsem to měl odsazené, ale HTML ani v tomto nezobrazuje bílé znaky, navíc 4 podmínky v sobě? Myslel jsem tam u těch závorek to co jsem zmiňoval: namenspace, class, metoda, podmínka. A zde jsem si ukázali proč mám radší End neco, protože víme co. :)

 
Nahoru Odpovědět
13.8.2014 18:38
Avatar
Hartrik
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
Hartrik:13.8.2014 19:03

Ok... Ty čtyři podmínky byl jen příklad který mimochodem najdeš bez problému skoro všude.

Složené závorky mi přijdou jednodušší na rozlišení.

 
Nahoru Odpovědět
13.8.2014 19:03
Avatar
Odpovídá na Hartrik
Michal Žůrek - misaz:13.8.2014 19:07

asi nejsem tak zkušený, 4 podmínky v sobě jsem ještě neviděl.

 
Nahoru Odpovědět
13.8.2014 19:07
Avatar
Hartrik
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
Hartrik:13.8.2014 19:10

Tady je třeba jedna třída z Androida
https://android.googlesource.com/…ew/View.java

Lehce jsem našel 5 ifů + switch v sobě.

 
Nahoru Odpovědět
13.8.2014 19:10
Avatar
Hartrik
Tvůrce
Avatar
Odpovídá na Hartrik
Hartrik:13.8.2014 19:12

metoda na řádku 8624

 
Nahoru Odpovědět
13.8.2014 19:12
Avatar
mkub
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
mkub:14.8.2014 8:54

podla mma su prehladnejsie zatvorky, ked sa spravne odsadia

 
Nahoru Odpovědět
14.8.2014 8:54
Avatar
Odpovídá na Michal Žůrek - misaz
Neaktivní uživatel:14.8.2014 8:57

Každá uzatváracia zátvorka má byť na inej úrovni v riadku + takmer všetky editory a IDE ti označia aj otávaraciu zátvorku bloku. :)

Nahoru Odpovědět
14.8.2014 8:57
Neaktivní uživatelský účet
Avatar
mkub
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
mkub:14.8.2014 9:00

kludne moze byt v jednom if aj 10 dalsich ifov vnorenych do seba, ale i tak mi

if (podmienka1) {
  .
  .
  .
  if (podmienka2) {
    .
    .
    .
    if (podmienka3) {
      .
      .
      .
    }
  }
}

pride dostatocne prehladne, viem, ktora zatvorka ukoncuje ktory blok kodu, ako aj editory mi zobrazia pekne, ktora zatvorka ku komu patri

 
Nahoru Odpovědět
14.8.2014 9:00
Avatar
Odpovídá na Hartrik
Neaktivní uživatel:14.8.2014 9:04

Tá metóda z tej Androidovej triedy to je riadny kus hnusného kódu, má to niečo cez 100 riadkov. 2 základné pravidlá pre písanie metód sú: 1. metóda má byť malá 2. metóda má byť ešte menšia ako malá. Hento čudo sa musí úžastne editovať a robiť v ňom zmeny a ľutujem tých čo s tým kódom musia pracovať a čítať ho :D

Nahoru Odpovědět
14.8.2014 9:04
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Michael Olšavský:14.8.2014 9:10

Je to sice naprosto hnusný kód, ale v tak obrovském projektu by to znamenalo překopat celou strukturu (v lepším případě jen třídu a zachovat rozhraní, ale to prakticky snad u tohohle nejde). Pokud má něco špatný návrh ze základu, nemáš na výběr

 
Nahoru Odpovědět
14.8.2014 9:10
Avatar
Odpovídá na Michael Olšavský
Neaktivní uživatel:14.8.2014 9:29

Bohužiaľ, ako vidím Android ten návrh nemá bohvieaký, trieda dlhá takmer 20K riadkov...

Nahoru Odpovědět
14.8.2014 9:29
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Michal Žůrek - misaz:14.8.2014 18:38

byl tu milovník krátkých kódu (Kit), který by z tohoto kódu omdlel. Jeho třída podle definice nesmí mít víc než 80 řádku kódu.

 
Nahoru Odpovědět
14.8.2014 18:38
Avatar
Odpovídá na Michal Žůrek - misaz
Neaktivní uživatel:14.8.2014 18:50

Na tom ako kód vyzerá a ako dobre sa číta veľmi záleží.

Nahoru Odpovědět
14.8.2014 18:50
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Martin Konečný (pavelco1998):14.8.2014 18:56

Metody by sice obvykle neměly být dlouhé, ale v určitých případech na pár řádků prostě napsat nejde. :)

Nahoru Odpovědět
14.8.2014 18:56
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Odpovídá na Martin Konečný (pavelco1998)
Neaktivní uživatel:14.8.2014 18:59

Metoda by mala robiť vždy iba jednu vec. Každá funkcia čo robí viac vecí sa dá rozdeliť na viac funkcii.

Nahoru Odpovědět
14.8.2014 18:59
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Martin Konečný (pavelco1998):14.8.2014 19:07

Jedna z nejdelších metod v mém aktuálním projektu má cca 80 řádků, to ještě není nijak zvlášť hodně (pokud nepočítám jednu s cca 300 řádky, kde většinu zabírá SQL dotaz, který jsem roztáhl kvůli přehlednosti).

Někdy se mi metoda trochu roztáhne i kvůli tomu, že si nadefinuji několik proměnných, které mají kratší název (ve smyslu $var = $result->variable->from->somewhere->else).

Kolik asi tak řádků je dle tebe potřeba k tomu, aby metoda byla "moc dlouhá"?

Editováno 14.8.2014 19:08
Nahoru Odpovědět
14.8.2014 19:07
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Odpovídá na Martin Konečný (pavelco1998)
Neaktivní uživatel:14.8.2014 19:26

To nie je vymedzené počtom riadkov. Keď si niekto iný(programátor samozrejme, nie tvoja babka) prečíta kód tej funkcie tak mu musí byť jasné čo daná funkcia robí, aj keď možno nepozná daný program.

Nahoru Odpovědět
14.8.2014 19:26
Neaktivní uživatelský účet
Avatar
vitamin
Člen
Avatar
vitamin:15.8.2014 8:18

Najviac zalezi na tom s cim dana metoda/funkcia pracuje. Ak je to trebarz nieco na sposob filtra, ma dake const/immutable vstupy, daky vystup a nepouziva ziadne globalne premenne tak moze mat kludne 1k riadkov a stale je prehladna, napr taky lexer/scaner v kompilatoroch sa da jednoducho implementovat cez giganticky switch reprezentujuci stavovy automat. Akonahle metoda zacne pouzivat globalne premenne(to plati aj pre mutable premenne pristupne cez parametre vcetne this) a ako bunus sa volaju virtualne metody tak moze byt aj 15 riadkovy kod extremne neprehladny.

Editováno 15.8.2014 8:19
 
Nahoru Odpovědět
15.8.2014 8:18
Avatar
Richard H.
Tvůrce
Avatar
Richard H.:13.8.2015 13:34

hm tak to se nějak zvrhlo z slož. závorek a endů na to kolik má mít metoda řádků

Nahoru Odpovědět
13.8.2015 13:34
Malý užitečný manuál je vždy lepší než bichle k ničemu.
Avatar
Neaktivní uživatel:13.8.2015 13:52

Mnohem přehlednější mi příjdou závorky, ale dost možná je to jen tím, že jsem si už zvykl.

Nahoru Odpovědět
13.8.2015 13:52
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 27 zpráv z 27.