באמצעות קביעות Java

1. הקדמה

הג'אווה לִטעוֹן מילת המפתח מאפשרת למפתחים לאמת במהירות הנחות יסוד או מצב של תוכנית.

במאמר זה, נבדוק כיצד להשתמש ב- Java לִטעוֹן מילת מפתח.

2. היסטוריה של קביעות Java

הג'אווה לִטעוֹן מילת המפתח הוצגה ב- Java 1.4, כך שהיא קיימת כבר לא מעט זמן. עם זאת, היא נותרה מילת מפתח מעט ידועה שיכולה להפחית באופן דרסטי את boilerplate ולהפוך את הקוד שלנו לקריא יותר.

לדוגמא, פעמים רבות בקוד שלנו עלינו לאמת תנאים מסוימים שעשויים למנוע מהיישום שלנו לעבוד כראוי. בדרך כלל היינו כותבים משהו כזה:

חיבור conn = getConnection (); אם (conn == null) {זרוק RuntimeException חדש ("החיבור הוא null"); }

באמצעות קביעות נוכל להסיר את אם ו לזרוק הצהרה עם סינגל לִטעוֹן הַצהָרָה.

3. הפעלת קביעות Java

מכיוון שקביעות Java משתמשות ב- לִטעוֹן מילת מפתח, אין צורך בספריות או חבילות לייבוא.

שים לב שלפני Java 1.4 היה חוקי לחלוטין להשתמש במילה "assert" לשם מתן שמות למשתנים, שיטות וכו '. הדבר עשוי ליצור התנגשות שמות בעת שימוש בקוד ישן יותר עם גרסאות JVM חדשות יותר.

לכן, לצורך תאימות לאחור, JVM מבטל אימות קביעה כברירת מחדל. יש להפעיל אותם במפורש באמצעות -הפעלת פעולות טיעון שורת פקודה, או הקצר -ea:

java -ea com.baeldung.assertion.Assertion

בדוגמה זו הפעלנו קביעות לכל הכיתות.

אנו יכולים גם לאפשר קביעות עבור חבילות ושיעורים ספציפיים:

java -ea: com.baeldung.assertion ... com.baeldung.assertion.Assertion

הנה, אפשרנו קביעות לכל השיעורים ב com.baeldung.asstion חֲבִילָה.

כמו כן, ניתן להשבית אותם עבור חבילות ושיעורים ספציפיים באמצעות -המרות השבתה טיעון שורת פקודה, או הקצר -דא. אנו יכולים גם להשתמש בכל ארבעת הטיעונים הללו יחד.

4. שימוש בטענות Java

כדי להוסיף קביעות, פשוט השתמש ב- לִטעוֹן מילת מפתח ותן לה בוליאני מַצָב:

הגדרת חלל ציבורי () {Connection conn = getConnection (); לטעון conn! = null; }

Java מספקת גם תחביר שני לקביעות שלוקחות מחרוזת, שתשמש לבניית ה- קביעה שגיאה אם אחד נזרק:

הגדרת חלל ציבורי () {Connection connect = getConnection (); assert conn! = null: "החיבור הוא null"; }

בשני המקרים, הקוד בודק שחיבור למשאב חיצוני מחזיר ערך שאינו null. אם ערך זה הוא ריק, ה- JVM יהיה לזרוק אוטומטית קביעה שגיאה.

במקרה השני, החריג יכלול את הפרט הנוסף שיופיע במעקב הערימה ויכול לסייע בניפוי באגים בבעיה.

בואו נסתכל על התוצאה של הפעלת הכיתה שלנו עם קביעות מופעלות:

חריג בשרשור "ראשי" java.lang.AssertionError: החיבור הוא null ב- com.baeldung.assertion.Assertion.setup (Assertion.java:15) ב- com.baeldung.assertion.Assertion.main (Assertion.java:10)

5. טיפול ב- קביעה שגיאה

הכיתה קביעה שגיאה מרחיב שְׁגִיאָה, שבעצמו מרחיב זורק. זה אומר ש קביעה שגיאה הוא חריג לא מסומן.

לכן שיטות המשתמשות בטענות אינן נדרשות כדי להכריז עליהן, וקוד שיחות נוסף לא אמור לנסות לתפוס אותן.

קביעות שגיאות נועדו להצביע על תנאים שאינם ניתנים להשבה ביישום, אז אל תנסה לטפל בהם או לנסות להתאושש.

6. שיטות עבודה מומלצות

הדבר החשוב ביותר שיש לזכור לגבי קביעות הוא שניתן להשבית אותן, כך לעולם אל תניח שהם יוצאו להורג.

לכן זכור את הדברים הבאים בעת שימוש בקביעות:

  • בדוק תמיד אם קיימים ערכים ריקים וריקים אופציות המקום שמתאים
  • הימנע משימוש בטענות כדי לבדוק תשומות לשיטה ציבורית ובמקום זאת להשתמש בחריג לא מסומן כגון IllegalArgumentException אוֹ NullPointerException
  • אל תתקשר לשיטות בתנאי קביעה ובמקום זאת הקצה את תוצאת השיטה למשתנה מקומי והשתמש במשתנה זה עם לִטעוֹן
  • קביעות נהדרות למקומות בקוד שלעולם לא יבוצעו, כגון ה- בְּרִירַת מֶחדָל מקרה של א החלף הצהרה או אחרי לולאה שלעולם לא מסתיימת

7. מסקנה

הג'אווה לִטעוֹן מילת המפתח זמינה כבר שנים רבות אך נותרה תכונה לא ידועה של השפה. זה יכול לעזור להסיר הרבה קוד boilerplate, להפוך את הקוד לקריא יותר ולעזור בזיהוי באגים בשלב מוקדם בפיתוח התוכנית.

רק זכור כי קביעות אינן מופעלות כברירת מחדל, לכן אל תניח כי הן יבוצעו בעת השימוש בקוד.

כמו תמיד, קוד המקור המלא זמין ב- GitHub.


$config[zx-auto] not found$config[zx-overlay] not found