מבוא לשיחזור עם IntelliJ IDEA

1. סקירה כללית

לא תמיד קל לשמור על הקוד מסודר. למרבה המזל עבורנו, ה- IDE שלנו די חכמים בימינו ויכולים לעזור לנו להשיג זאת. במדריך זה אנו נתמקד ב- IntelliJ IDEA, עורך קוד ה- Java של JetBrains.

נראה כמה תכונות שמציע העורך לשיקום קוד, החל משינוי שם משתנים ועד שינוי חתימת שיטה.

2. שינוי שם

2.1. שינוי שם בסיסי

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

כדי לשנות שם של אלמנט, עלינו לבצע את השלבים הבאים:

  • לחץ לחיצה ימנית על האלמנט
  • מפעילים את רפקטור> שנה שם אוֹפְּצִיָה
  • הקלד את שם האלמנט החדש
  • ללחוץ להיכנס

דרך אגב, אנו יכולים להחליף את שני השלבים הראשונים על ידי בחירת האלמנט ולחיצה עליו Shift + F6.

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

בואו נדמיין א SimpleClass כיתה עם שיטת תוספת בשם לא טוב, someAdditionMethod, נקרא ב רָאשִׁי שיטה:

class class SimpleClass {public static void main (String [] args) {new SimpleClass (). someAdditionMethod (1, 2); } public int someAdditionMethod (int a, int b) {return a + b; }}

לפיכך, אם אנו בוחרים לשנות שם של שיטה זו לְהוֹסִיף, IntelliJ תפיק את הקוד הבא:

class class SimpleClass () {public static void main (String [] args) {new SimpleClass (). add (1, 2); } הוסף ציבורי int (int a, int b) {return a + b; }}

2.2. שינוי שם מתקדם

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

אפשרויות אלה זמינות על ידי לחיצה Shift + F6 פעם נוספת לפני שינוי שם האלמנט שלנו ויופיע קופץ:

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

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

בואו נוסיף קצת Javadoc לשיטה שלנו, ואז נקרא שם לפרמטר הראשון שלה, א:

/ ** * מוסיף a ו- b * @param a את המספר הראשון * @param b את המספר השני * / public int add (int a, int b) {...}

על ידי בדיקת האפשרות הראשונה בחלון הקופץ לאישור, IntelliJ תואם כל אזכור של הפרמטרים בהערת Javadoc של השיטה ומציע גם לשנות את שמם:

/ ** * מוסיף firstNumber ו- b * @param firstNumber המספר הראשון * @param b המספר השני * / public int add (int firstNumber, int b) {...}

לבסוף, עלינו לציין זאת IntelliJ חכם ומחפש בעיקר שימושים בהיקף האלמנט ששמו שונה. במקרה שלנו, פירוש הדבר שהערה שנמצאת מחוץ לשיטה (פרט לג'אדוק) ומכילה אזכור ל א לא היה נחשב לשם שינוי.

3. חילוץ

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

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

3.1. משתנים

ראשית, נתחיל עם מיצוי משתנים. המשמעות היא משתנים, פרמטרים, שדות וקבועים מקומיים. כדי לחלץ משתנה, עלינו לבצע את השלבים הבאים:

  • בחר ביטוי שמתאים למשתנה
  • לחץ לחיצה ימנית על האזור שנבחר
  • מפעילים את רפקטור> חלץ> משתנה / פרמטר / שדה / קבוע אוֹפְּצִיָה
  • בחר בין החלף התרחשות זו בלבד אוֹ החלף את כל המופעים x אפשרויות, אם מוצעות
  • הזן שם לביטוי שחולץ (אם הנבחר לא מתאים לנו)
  • ללחוץ להיכנס

באשר לשינוי שם, ניתן להשתמש בקיצורי מקשים במקום להשתמש בתפריט. קיצורי הדרך המוגדרים כברירת מחדל הם, בהתאמה, Ctrl + Alt + V, Ctrl + Alt + P, Ctrl + Alt + F ו Ctrl + Alt + C.

IntelliJ תנסה לנחש שם לביטוי המחולץ שלנו, על סמך מה שהביטוי מחזיר. אם זה לא תואם את הצרכים שלנו, אנחנו רשאים לשנות את זה לפני שנאשר את המיצוי.

בואו נמחיש בדוגמה. יכולנו לדמיין להוסיף שיטה שלנו SimpleClass בכיתה המספרת לנו אם התאריך הנוכחי הוא בין שני תאריכים נתונים:

בוליאני סטטי ציבורי isNowBetween (LocalDate startingDate, LocalDate endingDate) {החזר LocalDate.now (). isAfter (startingDate) && LocalDate.now (). isBefore (endingDate); }

נניח שאנחנו רוצים לשנות את היישום שלנו כי אנחנו משתמשים בו LocalDate.now () פעמיים ואנחנו רוצים לוודא שיש לו אותו ערך בדיוק בשתי ההערכות. בואו פשוט נבחר את הביטוי ונחלץ אותו במשתנה מקומי, עַכשָׁיו:

ואז, שלנו LocalDate.now () השיחה נלכדת במשתנה מקומי:

בוליאני סטטי ציבורי isNowBetween (LocalDate startingDate, LocalDate endingDate) {LocalDate now = LocalDate.now (); חזור עכשיו.isAfter (startingDate) && now.isBefore (endingDate); }

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

3.2. שיטות

בואו נבדוק כעת כיצד לחלץ שיטות באמצעות IntelliJ:

  • בחר את הביטוי או את שורות הקוד המתאימות לשיטה שאנו רוצים ליצור
  • לחץ לחיצה ימנית על האזור שנבחר
  • מפעילים את רפקטור> חלץ> שיטה אוֹפְּצִיָה
  • הקלד את מידע השיטה: שמו, נראותו והפרמטרים שלו
  • ללחוץ להיכנס

להכות Ctrl + Alt + M לאחר בחירת השיטה הגוף עובד גם כן.

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

בדיאלוג שנפתח, אנו יכולים לראות כי IntelliJ כבר הבחין בשלושת הפרמטרים הדרושים: תאריך התחלה, תאריך סיום ו עַכשָׁיו. מכיוון שאנחנו רוצים ששיטה זו תהיה כללית ככל האפשר, אנו משנים את שם ה- עַכשָׁיו פרמטר לתוך תַאֲרִיך. ולצורכי לכידות, אנו מציבים אותו כפרמטר הראשון.

לבסוף, אנו נותנים לשיטה שלנו שם, isDateBetween, וסיים את תהליך החילוץ:

לאחר מכן נקבל את הקוד הבא:

בוליאני סטטי ציבורי isNowBetween (LocalDate startingDate, LocalDate endingDate) {LocalDate now = LocalDate.now (); החזרה isDateBetween (עכשיו, startingDate, endingDate); } בוליאני סטטי פרטי isDateBetween (תאריך LocalDate, LocalDate startingDate, LocalDate endingDate) {return date.isBefore (endingDate) && date.isAfter (startingDate); }

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

3.3. שיעורים

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

  • לחץ לחיצה ימנית בכיתה שיש בה את האלמנטים שאנחנו רוצים להעביר
  • מפעילים את רפקטור> חלץ> נציג אוֹפְּצִיָה
  • הקלד את המידע בכיתה: שמו, החבילה שלו, האלמנטים להאציל, הנראות של אותם אלמנטים
  • ללחוץ להיכנס

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

נניח, לפני הפעלת התכונה, אנו מכנים את השיטות הקשורות לתאריך ב- רָאשִׁי שיטה:

isNowBetween (LocalDate.MIN, LocalDate.MAX); isDateBetween (LocalDate.of (2019, 1, 1), LocalDate.MIN, LocalDate.MAX);

ואז אנו מאצילים את שתי השיטות האלה ל- a DateUtils בכיתה באמצעות אפשרות הנציג:

הפעלת התכונה תייצר את הקוד הבא:

מחלקה ציבורית DateUtils {בוליאני סטטי ציבורי isNowBetween (LocalDate startingDate, LocalDate endingDate) {LocalDate now = LocalDate.now (); החזרה isDateBetween (עכשיו, startingDate, endingDate); } בוליאני סטטי ציבורי isDateBetween (LocalDate date, LocalDate startingDate, LocalDate endingDate) {return date.isBefore (endingDate) && date.isAfter (startingDate); }}

אנו יכולים לראות כי isDateBetween שיטה נעשתה פּוּמְבֵּי. זו התוצאה של אפשרות הנראות, שמוגדרת ל לְהַסלִים כברירת מחדל. לְהַסלִים פירושו שהראות תשתנה על מנתודא שהשיחות הנוכחיות לאלמנטים המואצלים עדיין מתבצעות.

במקרה שלנו, isDateBetween משמש ב- רָאשִׁי שיטה של SimpleClass:

DateUtils.isNowBetween (LocalDate.MIN, LocalDate.MAX); DateUtils.isDateBetween (LocalDate.of (2019, 1, 1), LocalDate.MIN, LocalDate.MAX);

לפיכך, בעת העברת השיטה יש צורך להפוך אותה לא פרטית.

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

4. שיבוץ

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

על מנת לשבץ אלמנט, עלינו ללחוץ לחיצה ימנית על אלמנט זה - על הגדרתו או על התייחסות אליו - ולהפעיל את רפקטור>בשורה אוֹפְּצִיָה. אנו יכולים להשיג זאת גם על ידי בחירת האלמנט והקשה על Ctrl + Alt + N מקשים.

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

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

בוא ניקח את שלנו isNowBetween שיטה ולהיפטר מה- עַכשָׁיו משתנה, שנראה כעת קצת מוגזם:

על ידי הכנסת משתנה זה, נקבל את התוצאה הבאה:

בוליאני סטטי ציבורי isNowBetween (LocalDate startingDate, LocalDate endingDate) {return isDateBetween (LocalDate.now (), startingDate, endingDate); }

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

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

מחלקה ציבורית DateUtils {בוליאני סטטי ציבורי isNowBetween (LocalDate startingDate, LocalDate endingDate) {LocalDate date = LocalDate.now (); תאריך החזרה.is לפני (endingDate) && date.is After (startingDate); } בוליאני סטטי ציבורי isDateBetween (LocalDate date, LocalDate startingDate, LocalDate endingDate) {return date.isBefore (endingDate) && date.isAfter (startingDate); }}

שֶׁלָנוּ רָאשִׁי שיטה ב SimpleClass נשאר גם נגע.

5. עוברים דירה

מוקדם יותר ראינו כיצד ליצור מחלקה חדשה ולהאציל אליה כמה מרכיבי הקוד שלנו. אבל יש זמנים אולי נרצה להאציל שיטה לשיעור קיים. על זה עוסק החלק הזה.

על מנת להזיז אלמנט, עלינו לבצע את השלבים הבאים:

  • בחר באלמנט שיש להזיז
  • לחץ לחיצה ימנית על האלמנט
  • מפעילים את רפקטור> זז אוֹפְּצִיָה
  • בחר את מחלקת הנמענים ואת נראות השיטה
  • ללחוץ להיכנס

אנו יכולים להשיג זאת גם בלחיצה F6 לאחר בחירת האלמנט.

נניח שנוסיף שיטה חדשה שלנו SimpleClass, isDateOutstide (), שיגיד לנו אם תאריך ממוקם מחוץ למרווח התאריכים:

בוליאני סטטי ציבורי isDateOutside (LocalDate תאריך, LocalDate התחלת תאריך, LocalDate endingDate) {החזרה! DateUtils.isDateBetween (תאריך, התחלת תאריך, סיום תאריך); }

ואז אנו מבינים שמקומו צריך להיות אצלנו DateUtils מעמד. אז אנחנו מחליטים להזיז את זה:

השיטה שלנו נמצאת כעת ב DateUtils מעמד. אנו יכולים לראות שההתייחסות ל DateUtils בתוך השיטה נעלמה מכיוון שכבר אין צורך בה:

ציבורי בוליאני סטטי ציבורי isDateOutside (תאריך LocalDate, LocalDate startingDate, LocalDate endingDate) {return! isDateBetween (date, startingDate, endingDate); }

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

אם אנו רוצים להעביר שיטת מופע, IntelliJ תחפש שיעורים שהופנו אליהם בשדות המחלקה הנוכחית ותציע להעביר את השיטה לאחד מאותם כיתות (בתנאי שהם שלנו לשנות).

אם לא מתייחסים לשום מחלקה ניתנת לשינוי, IntelliJ מציע לבצע את השיטה סטָטִי לפני שתזיז אותו.

6. שינוי חתימת שיטה

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

כרגיל, עלינו לעבור כמה צעדים להפעלת התכונה:

  • בחר את השיטה לשינוי
  • לחץ לחיצה ימנית על השיטה
  • מפעילים את רפקטור> שינוי חתימה אוֹפְּצִיָה
  • הביאו שינויים בחתימת השיטה
  • ללחוץ להיכנס

אם אנו מעדיפים להשתמש בקיצור מקשים, אפשר להשתמש Ctrl + F6 גם כן.

תכונה זו תפתח דו-שיח הדומה מאוד לתכונת חילוץ השיטות. וכך יש לנו אותן אפשרויות שכאשר אנו מוציאים שיטה: שינוי שמו, נראותו וגם הוספה / הסרה של פרמטרים וכוונון עדין.

בואו נדמיין שאנחנו רוצים לשנות את היישום שלנו isDateBetween לשקול את גבולות התאריך כוללני או בלעדי. על מנת לעשות זאת אנו רוצים להוסיף א בוליאני פרמטר לשיטה שלנו:

על ידי שינוי חתימת השיטה נוכל להוסיף פרמטר זה, לתת לו שם ולתת לו ערך ברירת מחדל:

בוליאני סטטי ציבורי isDateBetween (תאריך LocalDate, LocalDate startingDate, LocalDate endingDate, כולל בוליאני) {return date.isBefore (endingDate) && date.isAfter (startingDate); }

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

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

7. משוך למעלה ולחץ כלפי מטה

קוד Java שלנו כולל בדרך כלל היררכיות מחלקות - מחלקות נגזרות מאריכות מחלקת בסיס.

לפעמים אנו רוצים להעביר חברים (שיטות, שדות וקבועים) בין הכיתות הללו. שם שימושי הרפקטורציה האחרונה: זה מאפשר לנו למשוך חברים ממעמד נגזר למחלקת הבסיס או לדחוף אותם מטה ממעמד בסיס לכל מחלקה נגזרת.

7.1. לַעֲקוֹר

ראשית, בואו נעלה שיטה למחלקת הבסיס:

  • בחר חבר בכיתה נגזרת להמשך
  • לחץ לחיצה ימנית על החבר
  • מפעילים את פקטור> משוך חברים למעלה ... אוֹפְּצִיָה
  • דחוף את רפקטור לַחְצָן

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

נניח שיש לנו מחלקה נגזרת שנקראת נִגזָר. הוא משתמש בפרטי doubleValue () שיטה:

מעמד ציבורי נגזר מאריך בסיס {ציבורי ריק סטטי ראשי (מחרוזת [] טענות) {נגזר נושא = חדש נגזר (); System.out.println ("הכפלה של 21. תוצאה:" + subject.doubleValue (21)); } private int doubleValue (int מספר) {return number + number; }}

מעמד הבסיס בסיס זה ריק.

אז מה קורה כשאנחנו מתרוממים doubleValue () לְתוֹך בסיס?

שני דברים קורים doubleValue () כאשר אנו לוחצים על "Refactor" בתיבת הדו-שיח לעיל:

  • זה עובר אל בסיס מעמד
  • הנראות שלו משתנה מ פְּרָטִי ל מוּגָן כך שה- נִגזָר הכיתה עדיין יכולה להשתמש בה

ה בסיס בכיתה אחר כך יש עכשיו את השיטה:

מחלקה ציבורית בסיס {מוגן int doubleValue (מספר int) {מספר החזרה + מספר; }}

הדיאלוג למשיכת חברים (בתמונה למעלה) נותן לנו כמה אפשרויות נוספות:

  • אנחנו יכולים לבחור חברים אחרים ולמשוך אותם בבת אחת
  • אנו יכולים להציג תצוגה מקדימה של השינויים שלנו באמצעות כפתור "תצוגה מקדימה"
  • רק בשיטות יש תיבת סימון בעמודה "הפוך תקציר". אם מסומנת, אפשרות זו תיתן למחלקת הבסיס הגדרת שיטה מופשטת במהלך המשיכה. השיטה בפועל תישאר בכיתה הנגזרת אך תקבל @Override ביאור. כתוצאה מכך, שיעורים נגזרים אחרים לא יתקבצו יותר ואז בגלל שהם חסרים יישום של שיטת הבסיס החדשה והמופשטת

7.2. לדחוף למטה

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

  • בחר חבר בכיתת בסיס לדחיפה כלפי מטה
  • לחץ לחיצה ימנית על החבר
  • מפעילים את Refactor> דחף חברים למטה ... אוֹפְּצִיָה
  • דחוף את רפקטור לַחְצָן

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

בואו נדחוף שוב את השיטה שרק הרמנו. ה בסיס הכיתה נראתה כך בסוף החלק הקודם:

מחלקה ציבורית בסיס {מוגן int doubleValue (מספר int) {מספר החזרה + מספר; }}

עכשיו, בואו נדחוף doubleValue () עד ל נִגזָר מעמד:

זה נִגזָר לאחר לחיצה על "Refactor" בתיבת הדו-שיח לעיל.ה doubleValue () השיטה חזרה:

מעמד ציבורי נגזר מאריך בסיס {פרטי int theField = 5; סטטי ציבורי ריק ריק (String [] args) {נגזר נושא = חדש נגזר (); System.out.println ("הכפלה של 21. תוצאה:" + subject.doubleValue (21)); } מוגן int doubleValue (int מספר) {return number + number; }}

עכשיו שניהם בסיס הכיתה וה נִגזָר השיעור חזר למקום בו התחילו בסעיף הקודם "Pull Up". כמעט, כלומר - doubleValue () שמר את מוּגָן נראות שהייתה בו בסיס (זה היה פְּרָטִי בְּמָקוֹר).

IntelliJ 2019.3.4 למעשה מעלה אזהרה כשדוחפים למטה doubleValue (): "חברים דחופים לא יהיו גלויים מאתרי שיחות מסוימים". אבל כפי שאנו יכולים לראות ב נִגזָר כיתה מעל, doubleValue () גלוי אכן ל רָאשִׁי() שיטה.

הדיאלוג לדחיקת חברים (בתמונה למעלה) נותן לנו גם כמה אפשרויות נוספות:

  • אם יש לנו מספר מחלקות נגזרות, אז IntelliJ ידחוף חברים לכל מחלקה נגזרת
  • אנחנו יכולים לדחוף מספר חברים למטה
  • אנו יכולים להציג תצוגה מקדימה של השינויים שלנו באמצעות כפתור "תצוגה מקדימה"
  • רק בשיטות יש תיבת סימון בעמודה "שמור מופשט" - זה דומה למשיכת חברים: אם מסומן, אפשרות זו תשאיר שיטה מופשטת בכיתת הבסיס. שלא כמו משיכת חברים, אפשרות זו תכניס מימוש שיטות לכל המחלקות הנגזרות. שיטות אלה יזכו גם ב- @Override ביאור

8. מסקנה

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

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


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