דילוג לתוכן העיקרי
בן אהרוני | מחשבים ואנשים

ניווט ראשי

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

מה זה גבול בתכנות או בפיתוח תוכנה? הגדרה יסודית לחדשים בתחום

אם המאמר לא מובן במלואו אני ממליץ לחזור לקרואו לאחר קורס מבוא לשפת מחשב מסוימת (כגון שפת JavaScript) במכללה אינטרנטית כגון teamtreehouse.com בו לומדים על המושגים פרוצדורה ("פונקציה") ותחום באופן מוחשי ← כלומר עם דוגמאות ותרגילים מוחשיים תוך כדי קידוד וכן ניתן לפנות אלי אם משהו לא ברור

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

תחום גלובאלי לעומת תחום לוקאלי

בהקשר שפות התנהגות רבות נהוג לחלק תחום לגלובאלי ולוקאלי:

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

חשיבות ההמנעות משימוש במשתנים גלובאליים

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

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

הורשה

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

אקספציה

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

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

פתיחות וסגירות

פתיחות סגירות (באנגלית: Closure) היא ההקשר התחבירי של יצירת תחום (קרי, "תחימה") ← איך יוצרים תחום או לחלופין איך פותחים תחום ואיך סוגרים תחום (בין אם יש לו תתי-תחומים שיורשים ממנו משתנים ובין אם לא).
פתיחה וסגירה של תחום כמו דרך הצהרה על פרוצדורה (עם פתיחה וסגירה שלה) מושגת לרוב על ידי סוגריים כמו סוגריים מעוגלים (()), מרובעים ([]), מסולסלים ({}) או זווייתיים (⟨ ⟩).

הערות כלליות

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

להתייעץ עימי על נושאי מחשוב ואינטרנט שונים

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

בן אהרוני

להשאיר לי הודעה בכל עת

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

קטגוריות מאמרים

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

מאמרים שעודכנו לאחרונה

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

בן אהרוני | הצהרת נגישות | יצירת קשר

כל הזכויות שמורות - בן אהרוני.
 אין להעתיק תוכן ללא אישור מפורש ממני בעל האתר.
 © 2025