Switch teiginiai yra aiškesnė sintaksė, palyginti su sudėtingomis arba sudėtinėmis if else teiginių serijomis. Naudokite jungiklį vietoj if, kai: Lyginate kelias galimas išraiškos sąlygas, o pati išraiška nėra triviali. Turite kelias vertes, kurioms gali reikėti to paties kodo.
Kada būtų tikslinga naudoti perjungimo teiginį?
Perjungimo teiginys yra naudingas lyginant kintamuosius, taip pat derinant, kai pateikiamas kodas. Tai taip pat naudinga tikrinant kintamojo klasę, ypač Ruby. Palyginimo sumetimais ji papildomai tikrina kelis kintamuosius, palyginti su vienu kintamuoju.
Ar naudoti perjungimo teiginius yra blogai?
Perjungimo dėklas nėra bloga sintaksė, tačiau dėl jos naudojimo kai kuriais atvejais jis klasifikuojamas pagal kodo kvapą. Jis laikomas kvapu, jei jis naudojamas OOPS. Todėl Switch dėklą reikia naudoti labai atsargiai.
Kodėl neturėtume naudoti jungiklio korpuso?
Paskutinis, bet ne mažiau svarbus dalykas, kadangi perjungimo sakinys reikalauja modifikuoti daugybę klasių, tai pažeidžia atviro-uždarymo principą iš SOLID principų. Apibendrinant galima pasakyti, kad perjungimo teiginiai yra blogi, nes juose yra klaidų ir jų negalima prižiūrėti.
Ar perjungti teiginius reikėtų vengti?
IMO perjungimo teiginiai nėra blogi, bet reikėtų vengti, jei įmanoma. Vienas iš sprendimų būtų naudoti žemėlapį, kuriame klavišai yra komandos irreikšmės Command objects with execute method. Arba sąrašas, jei jūsų komandos yra skaitinės ir jose nėra tarpų.