שגרה (תכנות)
ויקיפדיה האנציקלופדיה encyclopedia
בתכנות מחשבים, שגרה (באנגלית: Routine), תת-שגרה (באנגלית: Subroutine), פרוצדורה (באנגלית: Procedure), ובתכנות מונחה-עצמים שיטה/מתודה (באנגלית Method[1]), היא רצף של פקודות המאוגדות יחדיו, במטרה לבצע מטלה מוגדרת, מימוש של אלגוריתם. פונקציה היא שגרה המחזירה ערך. שגרות מהן לא מוחזר ערך משמשות על פי רוב לשם שינוי מצב כלשהו – הדפסות למסך, שינוי של אובייקט, או תוצאות לוואי אחרות.
קריאה לשגרה היא הפעלה שלה תוך כדי פעולת התוכנית. קריאה של שגרה לעצמה, ישירות או בעקיפין, נקראת רקורסיה. החלק בשגרה שמתבצע בפועל נקרא "גוף" השגרה. שגרה יכולה שלא לקבל קלט, לקבל קלט יחיד או מספר של קלטים כלשהם.
שגרות הן עיקרה של פרדיגמת התכנות הפרוצדורלי. מקובל כי שימוש מושכל בשגרות ובפונקציות עשוי לשפר את מבנה התוכנית, את קריאות הקוד ואת מידת הגמישות של התוכנית לביצוע שינויים. שימוש בשגרות מאפשר חלוקה של קוד לחלקים קצרים – שגרות קצרות – וכך מקל על וידוא נכונות של כל אחד ממרכיבי הקוד בנפרד. תוצאה זו מאפשרת להפחית במידה משמעותית את עלויות הפיתוח והתחזוקה של תוכנה.
בתכנות מונחה-עצמים, לכל עצם יש מספר שגרות השייכות אליו, שגרה כזאת נקראת "שיטה" (או "מתודה" בעקבות המונח באנגלית) או "פונקציה חברה" (++C), והיא מגדירה את ההתנהגות של האובייקט עליו היא נקראה, ופועלות על המידע הכמוס בתוכו או בעזרתו. בהתאם למידת החשיפה שלהן לשאר הקוד, שגרות אלה מהוות גם ממשק בין העצם לתוכנית כולה.
במרבית שפות התכנות קיימות שגרות, פונקציות או מתודות. סט הפקודות של מעבדים מסוימים מכיל פקודות לתמיכה בשגרות. כמעט כל המעבדים המודרניים הם כאלו. במעבדים אלו, שגרות נתמכות גם בשפות סף ושפות מכונה.