Η σύνταξη για τη διεκδίκηση είναι πολύ απλή :
διεκδικούν CODE
Ο κωδικός πρέπει να αξιολογεί είτε ως αληθής ή ψευδής . Αν αυτό αληθεύει, τότε το πρόγραμμα συνεχίζεται κανονικά . Αν όχι , τότε ένα AssertionError ρίχνεται . Με τον τρόπο αυτό , η λέξη-κλειδί ισχυρισμό επιτρέπει σε έναν προγραμματιστή να κάνει δηλώσεις για την κατάσταση του προγράμματος σε συγκεκριμένα σημεία και να εντοπίσει φορές, όταν το πρόγραμμα περνά σε κράτη που δεν επιτρέπονται .
Εικόνων Πότε να Χρησιμοποιήστε Assertions
ισχυρισμοί θα πρέπει να χρησιμοποιούνται για τον έλεγχο των αναλλοίωτων , ή καταστάσεις που ο προγραμματιστής πιστεύει ότι δεν θα συμβεί . Το παρακάτω παράδειγμα ενός ισχυρισμού σχετικά με την κατάσταση ενός κέρματος είναι ένα παράδειγμα μιας αμετάβλητης . Με τη χρήση των ισχυρισμών για να ελέγξετε αναλλοίωτες , οι προγραμματιστές να επιτύχει δύο πράγματα . Πρώτον, παρέχουν έναν τρόπο για την αποτυχία του προγράμματος , εάν η αναλλοίωτη αποδεικνύεται ότι είναι ψευδής λόγω διαφθοράς μνήμης . Δεύτερον , παρέχουν ένα ευανάγνωστο τρόπο για τον προγραμματιστή να παρουσιάσει σε άλλους προγραμματιστές τις υποθέσεις που υπάρχουν στον κώδικα του.
Η Προβλήματα
Η
Το κεντρικό πρόβλημα με τους ισχυρισμούς μπορεί να αποδοθεί στο γεγονός ότι είναι μια προαιρετική δυνατότητα . Για διάφορους λόγους , οι μηχανές πελάτης μπορεί να επιλέξει να τρέξει το πρόγραμμα με τους ισχυρισμούς απενεργοποιημένη . Αυτό έχει μια σειρά από ανεπιθύμητες . Πρώτον , ο προγραμματιστής δεν μπορεί να θέσει οποιοδήποτε κώδικα σε μια υπόθεση που μεταβάλλει την κατάσταση του προγράμματος , δεδομένου ότι αυτός ο κώδικας δεν θα είναι πλέον τρέχει αν ένας ισχυρισμός απέτυχε . Δεύτερον , ο προγραμματιστής μπορεί ποτέ να υποθέσουμε ότι οι ισχυρισμοί θα πρέπει να αξιολογηθούν . Αυτό σημαίνει ότι το επιχείρημα έλεγχος για τις μεθόδους θα πρέπει να εξακολουθούν να εκτελούνται χρησιμοποιώντας το παλιό σύστημα εξαιρέσεων , που ποτέ δεν μπορεί να απενεργοποιηθεί . Τέλος , δεδομένου ότι μια νέα λέξη-κλειδί « διεκδικούν » έχει προστεθεί με τη γλώσσα , οι μεταβλητές στο παλιό κώδικα δεν μπορεί να έχει το όνομα « διεκδικούν ».
Εικόνων Ισχυρισμός Παράδειγμα
Η
Εξετάστε το ακόλουθο κώδικα :
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα