סדר הפונקציות בקוד

שאלה כללית,
האם יש סדר שלפיו מקובל לסדר את הפונקציות בקוד?

למשל:
-מהפונקציה הראשית על לפונקציה שנקראת אחרונה
-מהפונקציה ה"קלה" לפונקציה ה"כבדה"

לייק 1

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

orirenick
כל הפונקציות מוגדרות עוד לפני הקריאה לפונקציה כלשהי (לפני הקריאה למטה), אז טכנית זה לא משנה. תריץ את הקוד שלך פעם ב
visualize python
ותראה את זה בעיניים.

אני שואל מה מקובל מבחינת כללי הנימוס

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

def first(a):
    print(second(a))

print(first(10))

def second(a):
    print(a)

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

בכל מקרה ממליץ להציץ במסמך הpep8 שזה סגנון הכתיבה עבור python code:

לייק 1

זו שאלה טובה מאוד.

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

אני מתוך הרגל ארוך שנים כותב פונקציה אחת שמפעילה את שאר התוכנה למטה,
וככל שהקוד נמצא יותר למעלה הוא יותר “עמוק” בלוגיקה של התוכנית.
אין סיבה טובה במיוחד לבחור בדרך הזו :slight_smile:

2 לייקים

לא הרבה מתכנתים כותבים פונקציה ראשית למטה שקוראת לכולן ובעצם מפעילה את התוכנה?