Refactoring

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה לניווט קפיצה לחיפוש

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

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

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

תהליך ה-Refactoring מורכב משלושה שלבים:

  1. זיהוי נקודות פוטנציאליות ל-Refactoring
  2. החלת טכניקת ה-Refactoring הרלוונטית לאותה נקודה
  3. בדיקה שההתנהגות החיצונית של הקוד לא השתנתה

יתרונות Refactoring לעומת בניית הקוד מחדש:

  • Refactoring אורך פחות זמן באופן משמעותי מתכנות מחדש, בהנחה שהאדם שמבצע את השינוי מכיר היטב את הקוד ואת הפונקציונליות שלו
  • אי יצירת באגים חדשים
  • המשך שיווק התוצר בכל שלב
  • לו"ז צפוי (לאחר הערכה על פי קטע קוד קטן)

היסטוריה[עריכת קוד מקור | עריכה]

בעבר לא בוצע Refactoring בשלבי פיתוח. דוגמה אחת היא קובץ CVS (משנת 1984) לא מתאר שינוי או העברה של קבצים ותיקיות. אף על פי ש-Refactoring היה מוכר לפני שנים רבות, וויליאם פ. אופדיק ידוע בתור הראשון שבחן נושא זה, הגם שהתאוריה והמיכון היו זמינות לפני כן.

מרטין פאולר בספרו: שיפור העיצוב של קוד נוכחי הוא התייחסות קנונית. השימוש הידוע הראשון במושג "Refactoring" הוצא לאור לספרות בספטמבר 1990, מאמר של וויליאם פ. אופדיק וראלף א. ג'ונסון. בתיזה של אופדיק שפורסמה ב-1992, הוא השתמש שנית במונח זה. מונח ה-Refactoring היה בשימוש בשפת התכנות Forth מאז שנות השמונים המאוחרות של המאה הקודמת. פרק שש בספרו של ליאו ברודי מוקדש לנושא זה. בשיטת ה-eXtreme Programming, חילוץ מתודה בשיטת ה-Refactoring הוא נחוץ כמו ב-Forth, שבירת המתודה למתודות קטנות יותר.

ראו גם[עריכת קוד מקור | עריכה]

קישורים חיצוניים[עריכת קוד מקור | עריכה]