Download presentation
Presentation is loading. Please wait.
Published byΣιλουανός Μαγγίνας Modified over 6 years ago
1
עבודה עם Eclipse מבוא לתכנות מערכות מבוא לתכנות מערכות
2
IDE – סביבת פיתוח בניגוד לכלים שראינו עד עכשיו סביבת פיתוח היא תוכנה המנסה לאגד מספר כלים תחת מנשק אחיד. למשל: Turbo C++, Dev C++ ו-Visual Studio הן סביבות פיתוח לתכנות ב-C/C++ (בין השאר). מבוא לתכנות מערכות
3
סביבות פיתוח מכילות קיצורים. מבצעות תהליכים קבועים בצורה אוטומטית.
עוזרות בניהול מידע בפרוייקטים גדולים. מספקות מנשק אחיד ומקלות על העבודה. מסובכות יחסית ולכן דורשות זמן התרגלות. אל תוותרו על השימוש בסביבת עבודה. יתרונותיהן עולים פי כמה מונים על חסרונותיהן. ירוק = טוב אדום = רע מבוא לתכנות מערכות
4
Eclipse Eclipse היא סביבת עבודה לתכנות בשפות שונות.
לאורך הקורס נשתמש ב-Eclipse CDT. תוספת המאפשרת כתיבת תוכניות C/C++. מבוא לתכנות מערכות
5
התקנה באתר הקורס קיים מדריך להורדה והתקנה של Eclipse CDT.
המדריך גם מסביר כיצד להוריד תלויות נוספות של Eclipse כמו minGW שכולל בתוכו גרסה של gcc וgdb. ניתן להוריד גרסאות אחרות של Eclipse באתר הרשמי: GCC הוא קומפיילר לסביבת Unix עם זאת קיימות שתי גרסאות שלו שניתנות להרצה ב-Windows: שימוש בחבילת CygWin אשר מדמה תכונות של Unix תחת Windows ומאפשרת הרצת גרסה של GCC. שימוש ב-GCC המסופק כחלק מחבילת MinGW - זהו מימוש של כלים מסביבת Unix ב-Windows ללא שכבות ביניים. (בד"כ הביטוי native ישמש לתיאור תוכנה שכזו) משתמשי לינוקס יכולים להתקין את Eclipse בעזרת מנהל ההורדות. יהיה עליכם להתקין גם את CDT מאותו תפריט. הקומפיילר GCC מגיע עם לינוקס כברירת מחדל, ובכל מקרה הוא ניתן להתקנה בקלות. (תחת Ubuntu ניתן פשוט לרשום את שם הפקודה בחלון טרמינל ואם הוא אינו מותקן תופיעה הפקודה שתגרום להתקנתו) שימו לב: Eclipse כתובה ב-Java. בניגוד ל-C, הרצה של תכניות בשפת Java דורשת התקנה מוקדמת של Java. אם Java אינה מותקנת תתקבל הערה כאשר תנסו להריץ את Eclipse. במקרה זה ניתן להוריד בקלות גרסה מתאימה של Java מ- מבוא לתכנות מערכות
6
הפעלה ראשונית בהפעלה הראשונית של Eclipse תדרשו לבחור תיקיה (directory) שתשמש כ-workspace. ה-workspace יכיל בתוכו את כל הפרוייקטים וההגדרות המותאמות אישית. ניתן לגבות את ספריה זו או להעבירה בין מחשבים בקלות. ה-workspace מאפשר דרך נוחה לשמירת כל ההתאמות האישיות והקבצים הדרושים. כל הפרוייקטים יישמרו תחת ספירה זו וגם כל ההתאמות האישיות. ניתן לכן הקלות להעתיק את ספריה זו ממחשב למחשב ולעבוד בנוחות על מחשבים שונים. גיבוי של הספריה גם מומלץ מדי פעם מאחר והוא יכול לחסוך עוגמת נפש של איבוד חומר. בכל סמסטר יש לפחות סטודנט אחד עם מזל רע כזה. סביר להניח שתשתמשו באותו Workspace כל הזמן בשלב זה - לכן ניתן לסמן את Use this as the default and do not ask again כדי לחסוך את חלון זה בהמשך. אם בשלב כלשהו תרצו לבטל את הגדרה זו ניתן לעשות זאת מ-Windows, Preferences ובחירה ב-General, Startup and shutdown, Workspaces. מבוא לתכנות מערכות
7
יצירת פרוייקט בכדי לכתוב קוד ולהריץ אותו עלינו ליצור פרוייקט תחילה.
פרוייקט מכיל: קבצי המקור של הקוד הגדרות עבור הפרוייקט (למשל דגלי הקומפילציה הדרושים) קבצים נוספים שימו לב שלא ניתן סתם ליצור קובץ קוד חדש לכתוב בו ולקמפל אותו. למרות שתכונה זו קצת מעיקה בהתחלה, רוב הקוד הנכתב הוא חלק מפרוייקט והשימוש בפרוייקטים בסביבת העבודה מקל מאוד על ההתמצאות בקוד. הפרוייקט כולו נשמר תחת ספריה ששמה כשם הפרוייקט תחת ספריית ה-workspace. מבוא לתכנות מערכות
8
יצירת פרוייקט על מנת ליצור פרוייקט נבחר בתפריט File, ובו נבחר New, C Project. אם סוג הפרוייקט אינו מופיע יש לבחור ב-Project… ולבחור בסוג המתאים בחלון שיופיע. ניתן לפרוייקט שם ונבחר ב-executable, empty project. סוגי הפרוייקטים השונים נועדו למטרות שונות. Shared library ו-Static library נועדו לכתיבת ספריות עזר שאינן תוכנה בפני עצמן. Makefile project נועד ליצירת פרויקט שבתהליך הבנייה/קומפילציה שלו מסובך יותר ודורש התאמות ידניות. בשלב זה Executable מספיק לנו. החלון השמאלי שכותרתו Toolchain נועד לבחירה בשרשרת הכלים שתשמש בפרוייקט, כלומר באיזה קומפיילר, קשר ו-דיבאגר נשתמש. בד"כ רק אפשרות אחת קיימת ונבחר בה. אם תחתWindows מופיעות שתי אפשרויות: MinGW GCC וגם CygWin GCC ביחרו ב-MinGW GCC. מבוא לתכנות מערכות
9
הוספת קבצים נוסיף עכשיו קובץ ראשון לפרוייקט.
נבחר ב-File,New ולבסוף ב-Source File (עבור קובץ c) או Header File (עבור קובץ h). עבור מערכת הבנק שלנו נוסיף את הקבצים הבאים: account.h קובץ מנשק המגדיר את העצם Account. account.c קובץ קוד מקור המממש את Account. main.c קובץ זה יכיל את ניתוח הפקודות ועיבוד מאגר הנתונים. אם סוג הקבצים שאנו רוצים להוסיף אינו מופיע ברשימה בתפריט ניתן לבחור ב-Other ולבחור בחלון המופיע את סוג הקובץ המתאים. הבחירה בין source file ל-header file אינה קריטית מאחר ושם הקובץ נבחר על ידינו. עם זאת בחירה ב-header file תגרום להוספה אוטומטית של הגנה נגד #include כפול. כאשר הפרוייקט גדל נרצה לסדר את הקבצים בתיקיות שונות, שימו לב שניתן באותה צורה להוסיף גם תיקיות לפרוייקט. מבוא לתכנות מערכות
10
הוספת הקבצים הקבצים יופיעו בחלון ה-Project Explorer עתה.
לחיצה כפולה על קובץ קיים תפתח אותו בעורך הטקסט במרכז המסך. כעת אנו יכולים להתחיל לרשום את התכנית שלנו. חלון ה-project explorer מאפשר פעולות שונות על הקבצים בו. חוץ מלחיצה כפולה שתפתח את הקובץ בעורך ברירת המחדל (בד"כ עורך הקוד) ניתן להגיע לאפשרויות רבות נוספות מהתפריט המופיע ע"י לחיצה ימנית. כמו כן ניתן לגרור קבצים בין תיקיות שונות וגם מתכונות אחרות. כך למשל ניתן ע"י גרירה או העתקה והדבקה להעביר קבצים מכל מקום במחשב אל תוך הפרוייקט. מבוא לתכנות מערכות
11
בניית הפרוייקט לפני ההרצה הראשונית של הפרוייקט עלינו לבנות אותו.
בנייה מכילה את שלב הקומפילציה, אך בפרוייקטים גדולים ייתכן ותכיל עוד פעולות מכינות (של קבצי נתונים הדרושים לתוכנה למשל) כדי לבנות את הפרוייקט יש לבחור ב-Project, Build Project. ניתן לבחור גם ב-Build All אשר יגרום לבניית כל הפרוייקטים הפתוחים. לפעולה זו קיים גם מקש קיצור Ctrl+B. במקרה הטוב: לאחר הבנייה יתווסף קובץ בינארי חדש אותו נוכל להריץ. במקרה הרע: נצטרך לטפל בשגיאות קומפילציה קודם. שימו לב: חשוב מאוד לבנות את הפרוייקט כבר בתחילת הקוד ולהריץ אותו אחת לכמה דקות. הקוד שלכם חייב להתקמפל לאורך כל העבודה, הקפידו לעשות זאת כל 10 דקות לכל היותר! הקוד שלכם חייב לרוץ ולהיות קל לבדיקה לאורך כל התהליך! הקפידו לבדוק אותו לאורך כל כתיבת הקוד בחלקים ולא בבת אחת בסוף. הוראות אלו נכתבו בלילות לבנים של סטודנטים בחווה. מבוא לתכנות מערכות
12
תצוגת שגיאות קומפילציה
ניתן לראות את כל הפקודות שהורצו ע"י Eclipse והפלט של הקומפיילר בחלון ה-Console לכל שגיאה או אזהרה יוצג סימון בקוד בשורה המתאימה. בנוסף יוצג סימון ליד פס הגלילה של הקובץ המראה את כל השגיאות שנמצאו בו. לחיצה על סימון זה תקפוץ לשגיאה המתאימה Eclipse מסוגלת בנוסף לנתח את הקוד ולבדוק אם הוא תקין מבחינה סינטקטית ולסמן זאת כבר בזמן הכתיבה. למשל אם תשכחו ; או תרשמו שורה שהמבנה שלה אינו תקין בשפה תדעו על כך מיד. אם לא ברור לכם מה לא תקין בשורה ניתן לבנות את הפרוייקט ולקבל את ההסבר המפורט יותר של הקומפיילר. כאשר יש שגיאות או אזהרות בפרוייקט ניתן בקלות למצוא אותם. השגיאות בקובץ מסומנות בצדדיו וניתן בקלות לקפוץ אליהן. קבצים עם שגיאות יופיעו עם אייקון מתאים ואפילו האייקון של הפרוייקט יסמל שהפרוייקט כרגע מכיל שגיאות. מבוא לתכנות מערכות
13
תצוגת שגיאות קומפילציה
בכדי לנווט בקלות בין השגיאות ניתן להשתמש בחלון ה-Problems. בחלון זה ניתן לראות את כל השגיאות והאזהרות הידועות ולקפוץ לכל אחת ע"י לחיצה כפולה. אם חלון זה אינו פתוח ניתן לפתוח אותו בעזרת Window, Show View, ולבחור ב-General, Problems. מבוא לתכנות מערכות
14
הרצה לאחר הבנייה הראשונית נוכל להריץ את התכנית שלנו ע"י בחירה ב-Run, Run as, Local C/C++ Application אם התבצעו שינויים בקוד התכנית תקומפל מחדש. הקלט והפלט של התכנית יופנו לחלון ה-Console. קלט יופיע בצבע טורקיז. פלט יופיע בצבע שחור. פלט לערוץ השגיאות יופיע באדום. מבוא לתכנות מערכות
15
הרצה ניתן לעצור את ההרצה ע"י כפתור העצירה ( ( בחלון ה-Console.
ניתן להריץ את התכנית האחרונה שהורצה ע"י בחירה בתפריט Run ובו בחירה ב-Run או ע"י לחיצה על Ctrl+F11. בגלל הגבלה של מערכת ההפעלה Windows פעולות הפלט אינן מתבצעות ישירות לחלון ה-Console ברגע ביצוען, ניתן לפתור בעיה זו ע"י הוספה זמנית של שורות אלה בתחילת התכנית: שתי שורות הקוד המוצעות באות להתמודד עם בעיה של קלט/פלט. מאחר ופעולות פלט הן איטיות מאוד (ועל כך באת"מ) נהוג לשמור בחוצץ את הפלט ורק אחת לזמן מה להדפיס אותו בפועל למסך (למשל בירידת שורה). ניתן להכריח את ניקוי חוצץ הפלט ע"י הפונקציה fflush(FILE* fd) למשל. בד"כ בחלון פקודה רגיל מתבצעות פעולות אוטומטיות של סנכרון הפלט וכך הבעיה נמנעת. מאחר והדבר לא מתאפשר ב-Windows עלינו לבטל את שמירת הפלט בחוצצים ולהכריח את כתיבתו למסך ישר. הפונקציה setvbuf משמשת לקביעת גודל החוצץ. ושתי הקריאות המסופקות יגרמו לביטול השימוש בחוצצים עבור stdout ו-stderr. setvbuf(stdout, NULL, _IONBF, 0); setvbuf(stderr, NULL, _IONBF, 0); מבוא לתכנות מערכות
16
הרצה בד"כ נרצה לשלוט בפרמטרים עבור הרצת התכנית.
למשל תכנית הבנק שלנו צריכה לקבל בשורת הפקודה את שם קובץ מאגר הנתונים: > bank.exe database.txt לכל הרצה של פרוייקט Eclipse שומר קונפיגורציה בה ניתן להגדיר פרמטרים כאלו. כאשר בחרנו ב-Run As נוצרה קונפיגורציה כזו באופן אוטומטי. כדי לערוך קונפיגורציות נבחר ב-Run, Run Configurations. בחלון זה מוצגות בצד כל הקונפיגורציות הקיימות. לאחר בחירה בקונפיגורציה ניתן לערוך את ערכיה. למשל בחירה ב-Arguments תאפשר הוספת הפרמטר להרצת התכנית. מבוא לתכנות מערכות
17
מאפייני הפרוייקט ניתן לשנות מאפיינים שונים של הפרוייקט ע"י בחירה ב-Project, Properties. למשל שליטה בדגלי הקומפילציה שבהם נשתמש. כדי לגרום לקומפילציה בהתאם לכללים בקורס נצטרך לעשות את הדברים הבאים: בחירה ב-C/C++ Build, Settings. תחת GCC C Compiler, Warnings: נסמן את Werror נסמן את pedantirc-errors אם Wall אינו מסומן, נסמן גם אותו. תחת Miscellaneous: נוסיף ב-other flags: “-std=c99” יש להוסיף את הדגל ולא למחוק את הדגלים הקיימים כבר. מבוא לתכנות מערכות
18
מאפייני הפרוייקט אפשרות חשובה נוספת היא הוספת קבצים מקומפלים לתהליך הקישור. כדי להוסיף קבצי object נבחר ב-Linker, Miscellaneous. תחת Other Object בחרו הוספה. בחרו את הקובץ המתאים. הערה: אם מופיעות בעיות קישור, שימו את קובץ ה-object בספרית הפרוייקט הראשית ופשוט כתבו את שמו בחלון הוספת הקובץ. חלק גדול ממאפייני הפרוייקט ניתנים גם לקביעה לכל הפרוייקטים. לשם כך נבחר בחלון Window, Preferences ממנו ניתן לקבוע מאפיינים המשפיעים על כל הפרוייקטים. מבוא לתכנות מערכות
19
מאפייני הפרוייקט אפשרות חשובה נוספת היא הוספת ספריות שלמות לתהליך הקישור. כדי להוסיף קבצי a נבחר ב-Linker, Libraries. תחת Libraries בחרו הוספה. בחרו את הקובץ המתאים – שימו לב כי קובץ הספריה mtm נקרא libmtm.a. הערה: אם מופיעות בעיות קישור, שימו את קובץ הספריה בתיקיית הפרוייקט הראשית והוסיפו אותה ל Library search path. חלק גדול ממאפייני הפרוייקט ניתנים גם לקביעה לכל הפרוייקטים. לשם כך נבחר בחלון Window, Preferences ממנו ניתן לקבוע מאפיינים המשפיעים על כל הפרוייקטים. מבוא לתכנות מערכות
20
השלמה אוטומטית Content Assist
מופעלת בעזרת Ctrl+Space (ואוטומטית במקרים מסוימים) מנסה להשלים את הביטוי הנוכחי בצורה הגיונית: שמות משתנים המוגדרים בבלוק, שמות פונקציות, שמות קבצי h בפקודות #include וכו'... לא תמיד מצליחה – גם אם ההצעה שאתם מחפשים לא מופיעה עדיין ייתכן שהקוד שלכם תקין. מציגה את התוצאות בחלון צף (בחירת אפשרות עם מקשי החצים ו-Enter או העכבר) אם יש אפשרות יחידה משלימה את המילה אוטומטית. מבוא לתכנות מערכות
21
השלמה אוטומטית Word Completion: משלימה מילים ללא הקשר.
מופעלת בעזרת Alt+/ משלימה את המילה לפי המילה המתאימה האחרונה שנצפתה בטקסט לחיצות נוספות על Alt+/ יחליפו את המילה המושלמת עובדת תמיד (גם בהערות או מאקרו למשל) השלמה אוטומטית זו נוחה מאוד גם, הרעיון הפשוט של שימוש במילה האחרונה שנצפתה צופה טוב ומאפשר התייחסות לשמות של פונקציות בתוך הערות או לשימוש בשמות משתנים לוקליים באותו שם בפונקציות שונות. אפילו בזמן כתיבת קבצי בדיקה שהם אינם קבצי קוד בכלל ניתן להשתמש בהשלמה זו. מבוא לתכנות מערכות
22
סימון התייחסויות הבאת סמן עריכת הטקסט למילה מסוימת יאיר את כל ההתייחסויות לאותה מילה. רק התייחסויות אשר אכן מתייחסות לאותה ישות בקוד. למשל משתנה מקומי יואר רק בפונקציה המתאימה. בנוסף כל ההתייחסויות בקובץ יסומנו בריבועים אפורים מימין לציר הגלילה האנכי. תכונה זו מאפשרת מעקב אחרי הקוד. למשל מציאה קלה של השורות בהן משתמשים שמתנה המקומי. התכונה השנייה המוזכרת כאן נקראת semantic highlighting. תכונה זו היא גרסה מושפרת ומסובכת בהרבה של syntax highlighting. בנוסף לסימון של מילות מפתח ב-syntax highlighting מתבצע ניתוח סמנטי של כל הקוד ביחד. תכונה זו מקלה מאוד על מציאת שגיאות והבנה של הקוד. (יתרונה החשוב ביותר הוא בסימון משתני מחלקה ב-++C, אבל יתרון זה יבלוט רק בהמשך הסמסטר) בנוסף Eclipse מסוגלת לנתח את הקוד ולצבוע מילים בקוד לפי הגדרתם. ערכים קבועים למשל יופיעו בצבע כחול מוטה. שמות טיפוסים מוכרים יופיעו בגוון ירוק. אם המילה אינה מופיעה בצבע המתאים כנראה שקיימת טעות כתיב או שגיאה כלשהי. מבוא לתכנות מערכות
23
סימון מטלות בקוד במקרים רבים נהוג לרשום הערות בקוד עבור דברים שיתבצעו מאוחר יותר למשל מחיקת קוד זמני לפני הגשת תרגיל ע"י רישום המילים TODO או FIXME ניתן לסמן הערה כמטלה. Eclipse עוקבת אחרי המטלות הפרוייקט: מטלות יסומנו בצידי הקובץ בכחול. ניתן לראות את רשימת כל המטלות בפרוייקט בחלון Tasks ולקפוץ אליהן. ניתן להוסיף תגיות נוספות ע"י בחירה ב-Window, Preferences ושם בחירה ב-C/C++, Task Tags. השימוש בביטויים TODO ו-FIXME הוא שכיח גם כאשר סביבת העבודה אינה עוקבת אחר ביטויים אלו בהערות. מבוא לתכנות מערכות
24
ניווט בקוד חלון ה-Outline מראה את מיתאר הקובץ הנוכחי ומאפשר ניווט נוח בו. אם הוא אינו מופיע ניתן להחזירו ע"י Window, Show view ובחירה ב-General, Outline. לחיצה על פריט בחלון תקפוץ לחלק המתאים בקובץ. לחיצה על כפתור ימני תפתח תפריט עם אפשרויות נוספות לפריט זה. ניתן לסדר מחדש את הפריטים בקובץ ע"י גרירתם בחלון זה. לאחר שמתרגלים לקפוץ להקשרים שונים ב-Eclipse כדאי לדעת גם את הקיצור Alt+← שחוזר להקשר הקודם (כמו back בדפדפן) בכלל זה מקום טוב לציין שהמילה View היא המונח עבור המסגרות השונות ב-Eclipse וניתן מתפריט Window לנהל אותן ומצוא חלונות שנאבדו וחלונות מועילים אחרים. בנוסף Eclipse שומרת פרספקטיבות - perspectives. זהו המונח לסידור של מספר מסגרות המאפשר מעבר מהיר בין פרישות שונות. למשל פרישת חלונות עבור קוד C/C++ ופרישת חלונות עבור דיבוג בשם Debug. מבוא לתכנות מערכות
25
קפיצה להכרזה אפשרות מועילה במיוחד ביכולות הניווט היא קפיצה להכרזה.
ע"י בחירת משתנה, פונקציה, טיפוס וכו' ובחירה ב-Open Declaration ניתן לקפוץ אל המקום בוא הוא הוגדר לראשונה ניתן לבצע פעולה זו במספר רב של דרכים, שתיים חשובות הן: לחיצה על כפתור ימני על הטקסט ובחירה ב-Open Declaration. החזקת מקש ה-Ctrl ולחיצה עם העכבר על המילה המתאימה. בזמן שמקש ה-Ctrl מוחזק כל מילה שניתן לקפוץ ממנה תיראה כמו קישור מתחת לסמן העכבר. דרכים נוספות: שימוש בחלון ה-Outline. מקש הקיצור F3. בשפת ++C ייתכן שיהיו כמה אפשרויות דומות ו-Eclipse לא יידע לאיזו מהן התכוונתם, במקרה זה יופיע חלון בו צריך לבחור את הפונקציה המתאימה. בנוסף, בשפת ++C קיימים אופרטורים מועמסים, כלומר אופרטורים שהביצוע שלהם הוא קוד שנכתב ע"י המתכנת. אופרטורים כאלו יופיעו בצבע כתום וניתן לקפוץ להגדרתם כמו לפונקציה. מבוא לתכנות מערכות
26
עיצוב אוטומטי של הקוד כדי לשמור על קוד קריא נהוג לבצע הזחות ולמקם סוגריים ומילים בצורה עקבית. לכללים מסוג זה וכללים נוספים המגבילים את סגנון קוראים גם Code Conventions. לחיצה על Ctrl+Shift+F תגרום ל-Eclipse לפרמט מחדש את כל הטקסט הנבחר. שבירת שורות ארוכות. מיקום סוגריים מסולסלים {,}. עיצוב לולאות ומשפטי תנאי בצורה אחידה. השימוש בתכונה זו מקל מאוד על שמירה על ה-Code conventions הדרושים במת"מ (ובכלל בכל פרוייקט תוכנה המכבד את עצמו) מבוא לתכנות מערכות
27
עיצוב אוטומטי של הקוד ניתן לבחור את הכללים לפיהם הקוד יעוצב מ-Window, Preferences ובחירה ב-C/C++,Code Style. ניתן לבחור סגנון מוכן מראש. ניתן לערוך סגנון מותאם אישית. מבוא לתכנות מערכות
28
הוספת קו אנכי מומלץ להימנע משורות ארוכות מדי בקוד.
הסיבה העיקרית: מפריעות לקריאות. לכן על אורך שורה בקורס לא לעלות על 80 תווים. המספר 80 מהווה פשרה נוחה וגם מבטיח ששורת קוד לא תישבר בהדפסה. ניתן להוסיף קו אנכי בעורך הטקסט אשר יסמן מתי שורה חורגת מ-80 תווים. בוחרים ב-Window, Preferences ובחירה ב-General, Editors, Text Editors. יש לסמן את Show print margin ולוודא שערכו של Print margin column הוא 80. מבוא לתכנות מערכות
29
היררכית קריאות - Call Hierarchy
מציגה בעץ את קשרי קריאת הפונקציות. בעזרת תצוגה זו ניתן לראות בקלות מהיכן נקראת כל פונקציה. לאתר פונקציות שאינן בשימוש. למצוא את ההשפעה של שינויים. כדי להגיע לחלון זה יש לבחור שם של פונקציה, ללחוץ על כפתור ימני ולבחור ב- Open Call Hierarchy מבוא לתכנות מערכות
30
Refactoring Refactoring הוא שם כולל לטכניקות של עריכת קוד לשם שיפורו.
Eclipse תומכת במספר פקודות הנועדו לשימושים כאלה. פקודות אלו מנתחות את הקוד הקיים ומבצעות בו שינויים. מבוא לתכנות מערכות
31
Refactoring Rename: Rename in file:
משנה שם של משתנה/פונקציה/טיפוס בקוד. משנה אותו בכל קבצי הפרוייקט. לא מתבלבלת (למשל שם משתנה מקומי ישתנה רק בפונקציה המתאימה) ניתנת להפעלה מתפריט Refactor. Rename in file: גרסה זו של הפקודה משנה רק את ההתייחסויות לשם זה בקובץ הנוכחי. יתרונה באפשרות עריכה "חיה". מופעלת ע"י Ctrl+1 ובחירה ב-Rename in file קיימות אפשרויות נוספות ל-Refactoring בתפריט ה-Refactor אך הן נותנות תוצאות טובות רק ב-++C. אתם מוזמנים לנסות אותן לאחר שנלמד ++C. האפשרויות עבור Rename חשובות מאוד. בעיקר עבור שינוי מאוחר של שמות טיפוסים ופונקציות, האפשרות הראשונה יכולה לשנות שם טיפוס בכל הפרוייקט בלי להתבלבל ברוב המקרים ולחסוך הרבה עבודה. שימו לב שכלי זה נוח מאוד לתיקון שמות הפונקציות והטיפוסים בהתאם ל-code conventions לפני ההגשה (בכל מקרה, לאחר כל שינוי בידקו את הקוד מחדש בעזרת הבדיקות האוטומטיות שלכם) האפשרויות הנוספות ל-refactoring כוללות חילוץ ביטוי למשתנה מקומי, וחילוץ מספר ביטויים לפונקציה נפרדת. אפשרויות אלה מאוד נוחות בזמן עבודה אך הן מסובכות לביצוע ועלולות להיכשל. בפרט הן דורשות לפעמים כלים שקיימים רק ב-++C. מומלץ לבדוק אותן מאחר והן עדיין מועילות וצפויות להשתפר בגרסאות עתידיות. מבוא לתכנות מערכות
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.