2010-04-28 10 views
18

Quando si utilizza una dichiarazione switch(), si aggiunge break; tra dichiarazioni separate case:. Ma per quanto riguarda lo ultimo?Istruzioni switch: hai bisogno dell'ultima interruzione? (Javascript principalmente)

Normalmente lo lascio, ma mi chiedo se questo abbia delle implicazioni sulle prestazioni a cui non sto pensando?

Mi sono chiesto questo per un po 'e non lo vedo chiedere altrove su Stack-O, ma scusa se l'ho perso.

Principalmente mi sto ponendo questa domanda riguardo a Javascript, anche se suppongo che la risposta si applicherà a tutte le dichiarazioni switch().

+0

Sarei sorpreso se ci fosse un successo nelle prestazioni. Personalmente l'ho sempre messo nel caso in cui in futuro avessi bisogno di spostare le casse. In più sono un po 'anale ... – PhilPursglove

risposta

26

Le prestazioni non dovrebbero essere affatto una considerazione. Anche se un linguaggio o un'implementazione presenta una differenza di prestazioni misurabile in un micro-benchmark, non causerebbe mai un problema di prestazioni nel mondo reale.

Penso che il problema più importante sia la coerenza e la manutenibilità. Se si lascia l'ultimo break e poi un altro sviluppatore aggiunge un'altra dichiarazione del caso senza rendersi conto che si era interrotto lo break, il comportamento sarebbe cambiato. E 'davvero colpa del secondo sviluppatore per non aver notato che lo break è mancante, ma avrebbe potuto essere evitato essendo coerente e avendo lo su tutte le clausole case.

+7

+1 Non c'è una buona ragione per lasciarlo fuori, davvero. –

+2

Ah, sì, buon punto, sono venduto :) –

4

Non è assolutamente necessario da un punto di vista delle prestazioni, ma è una buona abitudine da mantenere, poiché si potrebbe dimenticare di aggiungere la pausa quando si introducono più casi. Ovviamente questo non si applica a default.

+12

* "Ovviamente questo non si applica al valore predefinito." * Certo che lo è, 'default' non deve essere l'ultimo caso (anche se questo è dove * I * sempre mettilo). –

Problemi correlati