Ce folos mai bine dacă vs preaplin comutator stivă în limba rusă
În opinia mea, marea majoritate a situațiilor, este mai bine să nu utilizeze nici un comutator, cât mai multe if'ov.
Aproximativ vorbind, în loc de:
În opinia mea, atunci când este posibil (și, probabil, acest lucru este cel mai probabil pentru că am fost întotdeauna mai mult de un an, nu trebuie să utilizeze comutator :)), mai bine pentru a scrie ceva de genul
În opinia noastră, această abordare este, în primul rând, mai flexibile în ceea ce privește posibilele schimbări viitoare și, mai important, în mod direct lizibilitate.
În acest punct de vedere estetic sau am indigeste 100500 dacă, în cazul în care altcineva de bloc, dar comutatorul. Destul de des, atunci când începe cineva să scrie logica formular, dacă altfel, dacă - el nu se poate opri, în cele din urmă codul devine mizerie imposibil de citit. Dar dacă altcineva. de fapt, o altă aplicație. Unii programatori folosit în mod deliberat în loc de un astfel de comutator de construcție. Și le-am înțeles, cred că sintaxa comutator este pur si simplu dezgustator (indiferent de limba, deși, probabil, undeva a realizat frumos, dar eu nu știu cum și întrebarea acum nu este despre ei)
Dacă este o performanță, ea 100% nu ceea ce doriți să optimizați, cu mare dificultate imagina cod PHP care inflexiuni în cazul în care else if sau switch este.
În corectitudine - comutator poate fi bine optimizat compilator pentru PHP, dar nu este adevarat :)
UPD. Mărturisesc, o mică minciună. Eu folosesc același comutator, și sfătuim să utilizați atunci când scrieți Derivatoare.
@Gorets - valoarea de ea - du-te pentru ea - efectuarea acțiunii
Rețineți că comutatorul / caz de proiectare utilizează comparație inexactă (==). adică face reconcilierea „precum“ ca în cazul. Diferența de viteză, dar nu este în mod clar din cauza „comutator magic“ în cazul în care considerați că testele. Dacă === rulează mai rapid în 28 de 3 ori în cazul în == ps și swich 77 ps