Refactoring
ויקיפדיה האנציקלופדיה encyclopedia
ארגון הקוד מחדש (נקרא גם Refactoring) הוא תהליך של שיפור קוד קיים על ידי שימוש בטכניקות שמשנות את המבנה הפנימי של הקוד מבלי לשנות את ההתנהגות החיצונית שלו.
שיפור הקוד הקיים בא לידי ביטוי בקריאות הקוד, יעילות הקוד מבחינת סיבוכיות ריצה ומקום, והפיכת הקוד למודולרי הניתן להרחבה בקלות.
Refactoring יכול להיעשות במספר טכניקות:
- מחיקת שכפולים בקוד ומעבר לפונקציות המבצעות פעולות סדרתיות החוזרות על עצמן
- מתן שמות משמעותיים למשתנים או פונקציות
- מעבר לשימוש במחלקות - מעבר לתכנות מונחה עצמים
- מחיקת קוד מיותר
- שינוי ייצוג המשתנים - לדוגמה: בשפת python ניתן לחסוך פי 2 במקום על ידי מעבר מייצוג int64 לint32 כאשר מזהים שאין צורך ב64 סיביות לתוכן הספציפי של הנתונים.
ישנן סביבות עבודה, כגון ויז'ואל סטודיו, המספקות כלים לביצוע refactoring באופן אוטומטי או אוטומטי-למחצה.
תהליך ה-Refactoring מורכב משלושה שלבים:
- זיהוי נקודות פוטנציאליות ל-Refactoring
- החלת טכניקת ה-Refactoring הרלוונטית לאותה נקודה
- בדיקה שההתנהגות החיצונית של הקוד לא השתנתה
יתרונות Refactoring לעומת בניית הקוד מחדש:
- Refactoring אורך פחות זמן באופן משמעותי מתכנות מחדש, בהנחה שהאדם שמבצע את השינוי מכיר היטב את הקוד ואת הפונקציונליות שלו
- המשך שיווק התוצר בכל שלב
- לו"ז צפוי (לאחר הערכה על פי קטע קוד קטן)