Θα πρέπει να χρησιμοποιείται η δήλωση διακόπτη;

Θα πρέπει να χρησιμοποιείται η δήλωση διακόπτη;
Θα πρέπει να χρησιμοποιείται η δήλωση διακόπτη;
Anonim

Οι εντολές Switch είναι πιο καθαρή σύνταξη σε μια σύνθετη ή στοιβαγμένη σειρά εντολών if else. Χρησιμοποιήστε διακόπτη αντί για if όταν: Συγκρίνετε πολλαπλές πιθανές συνθήκες μιας έκφρασης και η ίδια η έκφραση δεν είναι τετριμμένη. Έχετε πολλές τιμές που μπορεί να απαιτούν τον ίδιο κωδικό.

Πότε θα ήταν σκόπιμο να χρησιμοποιήσετε μια δήλωση διακόπτη;

Η δήλωση switch είναι χρήσιμη κατά τη σύγκριση μεταβλητών και επίσης για σκοπούς εντοπισμού σφαλμάτων όταν δημιουργείται ένας κώδικας. Είναι επίσης χρήσιμο κατά τη δοκιμή για την κλάση μιας μεταβλητής, ειδικά στο Ruby. Ελέγχει επιπλέον για πολλαπλές μεταβλητές έναντι μιας μεταβλητής για λόγους σύγκρισης.

Η χρήση δηλώσεων διακόπτη είναι κακή;

Η θήκη διακόπτη δεν είναι κακή σύνταξη, αλλά η χρήση της σε ορισμένες περιπτώσεις την κατηγοριοποιεί ως μυρωδιά κώδικα. Θεωρείται μυρωδιά, εάν χρησιμοποιείται στο OOPS. Επομένως, η θήκη διακόπτη θα πρέπει να χρησιμοποιείται πολύ προσεκτικά.

Γιατί δεν πρέπει να χρησιμοποιούμε θήκη διακόπτη;

Τελευταίο αλλά εξίσου σημαντικό, επειδή μια δήλωση διακόπτη απαιτεί από εμάς να τροποποιήσουμε πολλές κλάσεις, παραβιάζει την αρχή Open-Closed από τις αρχές SOLID. Συμπερασματικά, η δήλωση διακόπτη είναι κακή επειδή είναι επιρρεπής σε σφάλματα και δεν μπορεί να διατηρηθεί.

Πρέπει να αποφεύγονται οι δηλώσεις αλλαγής;

Οι δηλώσεις διακόπτη IMO δεν είναι κακές, αλλά θα πρέπει να αποφεύγονται αν είναι δυνατόν. Μια λύση θα ήταν να χρησιμοποιήσετε έναν Χάρτη όπου τα κλειδιά είναι οι εντολές καιτις τιμές Command αντικείμενα με μια μέθοδο execute. Ή μια λίστα εάν οι εντολές σας είναι αριθμητικές και δεν έχουν κενά.

Συνιστάται: