מחפש טיפ של אלופים

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

3 לייקים

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

3 לייקים

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

לאחר מכן העברתי את זה לקוד בצורה מאוד בסיסית למשל:

class A:
    pass

class B:
    pass

class C(A, B):
    def add_number(self):
        pass

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

4 לייקים

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

5 לייקים
  1. שתי קריאות – רפרוף וקריאה נוספת לעומק.
  2. תעיף את התיעוד ותתעד בעצמך.
  3. חפש את נקודת הכניסה לקוד: מאיפה הכל מתחיל? אם זה קוד שבנוי ממחלקות שווה להסתכל על ה־__init__ים. פרום את הקוד מהנקודה הזו.
  4. שחק הרבה עם הקוד בצורה אינטרקטיבית. נסה ליצור מופעים מהמחלקה, להריץ פונקציות ולראות איך כל דבר עובד ומה הוא מצפה לקבל. חשוב: כתוב לעצמך בצד את המסקנות על כל פונקציה.
  5. ההעדפה האישית שלי, אם אני צריך לקרוא את כל הקוד, היא להתחיל מהאבסטרקטי ביותר ולהיכנס פנימה לאט לאט.
  6. נסה להסביר למישהו אחר (או לברווז גומי שקנית) איך הקוד עובד בקול רם.

טיפים נוספים: https://web.media.mit.edu/~lieber/Teaching/IISDW/Read-Code.html

9 לייקים

תודה לעוזרים, באמת אנסה להשתמש בחלק מהשיטות פה!

5 לייקים

תודה לשואל , החכמנו.

5 לייקים