Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
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
BeriCud
Neregistrovaný
Avatar
BeriCud:8.2.2013 11:08

Ahoj mám otázku jak správně doplnit k case i default: chtěl sem si to zkusit a vymazal poslední if a else a jejich příkazy a pokoušel se doplnit do složených závorek k case ještě default ale pokaždé sem dostal výpis chyby Control cannot fall through from one case label (default:)to another.
Díky.

 
Odpovědět
8.2.2013 11:08
Avatar
Odpovídá na
Luboš Běhounek Satik:8.2.2013 12:04
switch (promenna)
{
  case 1: udelejNeco();
          break;
  case 2: udelejNecoJinyho();
          goto case 1;
  default: UdelejNecoJinyho();
           break;
}

Musíš na konci každýho case něco, co způsobí, že ti běh programu nespadne do další větve - break, return, goto, throw.

Např. u case 2 se provede nejdřív větev pro 2 a pak větev pro 1.

Nahoru Odpovědět
8.2.2013 12:04
https://www.facebook.com/peasantsandcastles/
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Luboš Běhounek Satik
Kit:8.2.2013 13:32

Fuj, to je hnus. Už se nedivím, že potřebuješ breakpointy a krokování.

Nahoru Odpovědět
8.2.2013 13:32
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
lcet.m
Člen
Avatar
Odpovídá na Kit
lcet.m:8.2.2013 13:41

Ale no tak. Osobne jsem tu od tebe jeste zadnou ukazku zajimaveho kodu v C# nevidel, jen teoreticke reci o TDD. Muzu se te zeptat, jestli uz jsi vlastne nekdy delal na nejakem komercnim projektu? A ted nemyslim e-shop pro kamarada za sud piva, ale neco, na cem spolupracuji alespon tri lidi a vyvoj trva aspon par mesicu.

Dogmata jsou super, ale jen na univerzite.

 
Nahoru Odpovědět
8.2.2013 13:41
Avatar
Odpovídá na Kit
Luboš Běhounek Satik:8.2.2013 13:50

Jaký hnus? Je to téměř ten samý kód, co je u switche i na MSDN...

Nahoru Odpovědět
8.2.2013 13:50
https://www.facebook.com/peasantsandcastles/
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Luboš Běhounek Satik
Kit:8.2.2013 14:27

Však právě. Goto bylo už v prvním produktu od Microsoftu a v jejich aplikacích smrdí dodnes.

Nahoru Odpovědět
8.2.2013 14:27
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Tvůrce
Avatar
Odpovídá na lcet.m
Kit:8.2.2013 14:28

Neprogramuji v C#, proto jsem tady žádnou ukázku neuvedl.

Nahoru Odpovědět
8.2.2013 14:28
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
vodacek
Tvůrce
Avatar
Odpovídá na Kit
vodacek:8.2.2013 14:32

rozhodně lepší řešení než když se v javě nedá break tak to propadává o větev níže...

 
Nahoru Odpovědět
8.2.2013 14:32
Avatar
Kit
Tvůrce
Avatar
Odpovídá na vodacek
Kit:8.2.2013 14:34

Když v Javě zapomeneš break, tak ti to vyhodí warning.

Nahoru Odpovědět
8.2.2013 14:34
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
lcet.m
Člen
Avatar
Odpovídá na Kit
lcet.m:8.2.2013 14:43

Jak Java ví, že jsi ten break zapomněl? Nebo je to tak, že frajeři, co jsou příliš sexy na IDE, po kompilaci pročtou output a u každého warningu se mrknou, jestli zapomněli break, nebo to tak chtějí? Nojono.

Dobře, v C# neděláš (tím spíš mě zaráží, jak pěkně ho umíš kritizovat), tak teda v jiném jazyce jsi nějaký takový projekt, jak se ptám výše, dělal?

Na goto není vůbec nic špatného, špatné je, když ho někdo blbě používá. Nebo chceš říct, že assembler je špatný jazyk, protože se tam pořád jenom skáče?

 
Nahoru Odpovědět
8.2.2013 14:43
Avatar
Odpovídá na Kit
Luboš Běhounek Satik:8.2.2013 14:50

Co ti tak vadí na goto?

Nadužívání sice znepřehledňuje kód (ale to když se použije prasácky dokáže jakákoliv konstrukce, třeba i spousty podmínek) a je to konstrukce, bez které se vždy obejdeš - cokoliv s goto se dá přepsat jinak, ale jsou situace, kdy goto dokáže kód urychlit/zpřeh­lednit.

Tento názor má třeba i pratvůrce tvého oblíbeného OS - Linus Torvalds.

Nahoru Odpovědět
8.2.2013 14:50
https://www.facebook.com/peasantsandcastles/
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Luboš Běhounek Satik
David Hartinger:8.2.2013 14:57

Goto je velmi nebezpečné, může nastat např. tato situace: http://xkcd.com/292/

Nahoru Odpovědět
8.2.2013 14:57
You are the greatest project you will ever work on.
Avatar
Odpovídá na David Hartinger
Luboš Běhounek Satik:8.2.2013 15:00

Jsem ochoten to risknout :D

Nahoru Odpovědět
8.2.2013 15:00
https://www.facebook.com/peasantsandcastles/
Avatar
Kit
Tvůrce
Avatar
Odpovídá na lcet.m
Kit:8.2.2013 15:19

Normálně se warningy přece neobjevují, takže i ten jeden je při kompilaci velmi dobře vidět.

Goto jsem nikdy nepoužil. Stačí při programování přemýšlet trochu jinak a také ho nebudeš nikdy potřebovat.

V assembleru jiná možnost není, ale přesto se tam dají při skocích dodržovat určitá pravidla a udržet tak program na uzdě.

Nahoru Odpovědět
8.2.2013 15:19
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Tvůrce
Avatar
Odpovídá na lcet.m
Kit:8.2.2013 15:27

Chceš mi snad sdělit, že po kompilaci programu nepročítáš warningy a errory od kompilátoru? No nazdar.

Nahoru Odpovědět
8.2.2013 15:27
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Tvůrce
Avatar
Odpovídá na lcet.m
Kit:8.2.2013 15:57

Java pozná zapomenutý break ve switch podle toho, že za návěštím jsou příkazy, za kterými je místo break hned další návěští. Tento warning se dá selektivně vypnout, tedy pro konkrétní switch.

C# to AFAIK umí také.

Nahoru Odpovědět
8.2.2013 15:57
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
lcet.m
Člen
Avatar
Odpovídá na Kit
lcet.m:8.2.2013 16:19

Chceš mi snad sdělit, že po kompilaci programu nepročítáš warningy a errory od kompilátoru?
To jsem nějak nikde nepsal - nebo jo?

Ale abychom to nezamluvili - můžeš mi prosím odpovědět na tu původní otázku, ohledně tvých dosavadních zkušeností?

 
Nahoru Odpovědět
8.2.2013 16:19
Avatar
Kit
Tvůrce
Avatar
Odpovídá na lcet.m
Kit:8.2.2013 16:22

... frajeři, co jsou příliš sexy na IDE, po kompilaci pročtou output a u každého warningu se mrknou, jestli zapomněli break, nebo to tak chtějí?

Nahoru Odpovědět
8.2.2013 16:22
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
lcet.m
Člen
Avatar
Odpovídá na Kit
lcet.m:8.2.2013 16:25

Z toho ti plyne, že já nečtu warningy? Přišlo mi jen zvláštní, že chceš mít v kódu něco, co vyhazuje warning, ale přitom to může být zamýšlená věc. Dál jsi napsal, že se ten warning dá vypnout, což mou zvědavost v tomto ohledu ukojilo.

Ještě tu ale máme jednu nezodpovězenou otázku, že...

 
Nahoru Odpovědět
8.2.2013 16:25
Avatar
Kit
Tvůrce
Avatar
Odpovídá na lcet.m
Kit:8.2.2013 16:30

Hmm. Jak jsi přišel na to, že chci v kódu něco, co vyhazuje warning? Ve větvích switche mám obvykle jen returny, takže zpravidla ani ten break nepotřebuji.

Nahoru Odpovědět
8.2.2013 16:30
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
lcet.m
Člen
Avatar
Odpovídá na Kit
lcet.m:8.2.2013 16:32

Dobře, máš pravdu, nech to plavat.

A teda ohledně těch zkušeností?

 
Nahoru Odpovědět
8.2.2013 16:32
Avatar
Kit
Tvůrce
Avatar
Odpovídá na lcet.m
Kit:8.2.2013 16:33

Dobře. Necháme to plavat.

Nahoru Odpovědět
8.2.2013 16:33
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
lcet.m
Člen
Avatar
Odpovídá na Kit
lcet.m:8.2.2013 16:34

:) Ty jseš komik, viď? Nejseš nějak příbuznej s Matesaxem?

 
Nahoru Odpovědět
8.2.2013 16:34
Avatar
Kit
Tvůrce
Avatar
Odpovídá na lcet.m
Kit:8.2.2013 16:37

Často si jako komik připadám. S Matesaxem příbuzný nejsem a ani bych být nechtěl. Přesto jsem si na něj tady zvykl.

Nahoru Odpovědět
8.2.2013 16:37
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
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 24 zpráv z 24.