Vyvojari.sk na Facebooku
Správičky 2 187 Blogy 556 Fórum 13 473

Zaujímavosti zo sveta

23.02 Kyberkriminálníkem snadno a ry…
Počítačová bezpečnost prakticky: zabezpečení dat v klidu, zabezpečení dat v pohybu a anonymní připojení k Internetu. Témata dnes možná ještě…
22.02 TryJoinads (IV.) - Concurrency…
Join calculus provides a declarative way of expressing asynchronous synchronization patterns. It has been use as a basis for programming la…
22.02 Pozvánka: Windows 8 Hackathon …
vyvojar
Uvedení Windows 8 Consumer Preview se blíží (29.2.2012), a proto jsme již nyní naplánovali několik běhů Windows 8 Hackathonů, na které bycho…
22.02 Update rollup 6 pro Exchange S…
blogCZSK
Update Rollup 6 pro Exchange Server 2007 Service Pack 3 (SP3) je k dispozici na Microsoft Download centru. Řeší problém…
22.02 Pozvánka na akci: Bezpečné web…
Nikdy jsem se nebál platit kartou na Internetu, dokud jsem nebyl nucen z klientské strany implementovat komunikaci s platebními bránami. Pot…
21.02 Internet of Things s FEZ Panda…
vyvojar
Pojem Internet of Things byl poprvé použit v roce 1999 a jeho původní význam je označení sítě jednoznačně identifikovatelných objektů (RFID,…
21.02 Záznam a prezentace z šestého …
blogCZSK
V tomto dílu vás Pavel Řepa seznámil se Service Managerem 2012, nástrojem, jehož hlavním úkolem je…
21.02 GeekCore – nová verze a zdrojá…
Znáte tu situaci, kdy uživateli přehledně vysvětlíte, že jeho feature request je sice rozumná, ale příliš náročná na implementaci a přes noc…
20.02 Extrémní velikost databáze slu…
mazin
Před časem jsem řešil problém, kdy databáze služby Import uživatelských profilů měla velikost přes 21GB. To je na profily cca 150 členů domé…
20.02 TryJoinads (III.): Agent-based…
Another area where the match! syntax can be used is when programming with F# agents, implemented by the MailboxProcessor type. Formally, ag…
20.02 Soužití Office 365 a BlackBerr…
blogCZSK
V první dílu Office 365 akademie jste se mimo jiné ptali, jak je na tom Office 365 s podporou mobilních zař&iacu…
20.02 ASP.NET MVC 4 Beta
ScottGu
A few days ago we released the ASP.NET MVC 4 Beta.  This is a significant release that brings with it a bunch of great new features and…
17.02 TryJoinads (II.): Task-based p…
The implementation of joinad operations for the Task<'T> type is quite similar to the implementation of Async<'T>, because the…
17.02 Co IT týden dal: havárie a bři…
blogCZSK
Kanty> Tak jsem si dnes ráno zadělal na menší infarkt. Abyste plně pochopili hloubku mého hrůzného pro…
17.02 Update Rollup 2 pro rodinu Win…
blogCZSK
Před několika dny Microsoft vydal souhrnnou opravu Update Rollup 2 pro všechny systémy patřící do rodiny Windows…
16.02 Odkazy z prohlížeče – 16.2.201…
atasoft
CodeProject Stop Watch application for Windows Phone 7 Learning XNA 2d Engine IceCream With 1945 Demo Project C# Language Features…

Switch alebo else if?

dudok - 18. 1. 2012 16:33 - 253 views

Po code review debate s kolegom som trochu googlil (ja neverím všetkému čo mi kto povie) a narazil som na zaujímavý fakt ktorý som si v prvej chvíli ani neuvedomil (a kolega naň poukázal) a to, že switch a else if je predsalen rozdiel. Sypem si popol na hlavu a idem si pýtať školné.... Proste mi to pri písaní kódu ušlo.... Na moju obhajobu poviem, že som porovnával len pár vecí, toš.... bad day blush

Viac info :

http://stackoverflow.com/questions/94305/what-is-quicker-switch-on-string-or-elseif-on-type

alebo aj

http://stackoverflow.com/questions/97987/switch-vs-if-else

 

BTW čo najčastejšie používate vy?


Dušan Roštár

Článkov: 0, Správičiek: 181, Príspevkov vo fóre: 11, Príspevkov v blogu: 47, Bodov: 6025
Najaktívnejší č.: 4
Profil používateľa

Reakcie

# ... 19. 1. 2012 10:40:32 T

Dost zle postavena otazka/uvaha. Je tolko faktorov, ktore vstupuju do rozhodovania ako riesit podmienku a rozdiel medzi switch/ifelse zacina byt zaujimavy tam, kde zvacsa prichadzaju do uvahu uplne ine pristupy.(napr. hodnoty v nejakom hashset). Dalsia vec je prehladnost kodu, existuju paterny ako specification a podobne.
Cize v prvom rade citalenost a udrzovatelnost kodu a keby som sa rad dostal do situacie kde na hentakom rozhonuti nieco kriticky zalezi (co ma napada tak jedine html parser ktory som pisal) tak potom to ma zmysel riesit v kontexte realizacie kontkrnej podmienky/sitacie.

# jasné 19. 1. 2012 11:12:08 dušan

otázka znie čo ideš riešiť. ak sú to statické hodnoty stringov , čísel a je ich veľa, tak switch, ak je tam viac faktorov (niečo parsuješ a pod) tak else if. pekne to rozoberajú v prvom linku. ale ak máš niečo statické, tak case je proste cesta (ten tvoj parser napr). tagy sa asi veľmi meniť nebudú. kuknem ešte ten pattern, thx.

# ... 19. 1. 2012 16:11:28 T

@dusan:
1. link - odveci, v druhom pripade je vacsi problem v operatore is ako comkolvek inom
2. link - hashset nebude asi citelne pomalsi ako switch, ale kod prehladnejsi

ved to som pisal, ze jediny pripad, kedy som potreboval riesit tuto dilemu, ktory ma napadol a ked to malo zmysel bol html5 parser resp. tokenizer. (v tokenizeri v kazdom specifickom stave mas logiku tociacu sa okolo znakov)

Titulok:


Meno:


Url:
Koľko je 22 + 4? (ochrana proti spamu)

Komentár:


Najaktívnejší užívatelia
1. 34510 b. photo vlko
2. 16055 b. photo T
3. 15330 b. photo spigi
4. 6025 b. photo dudok
5. 5515 b. photo slavof
6. 5040 b. photo siro
7. 4720 b. photo duracellko
8. 3625 b. photo jakub
9. 3490 b. photo lubolacko
10. 3340 b. photo skippo