"מבוא" לבדיקה עצמית של תרגילים

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

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

2 לייקים

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

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

  1. תכתבו לכל תרגיל שאתם מבצעים תרשים זרימה. על איך כותבים תרשימי זרימה נכונים תוכלו למצוא בעזרת חיפוש מהיר בגוגל.
  2. כתבו תמיד את הפונקציות בראש הקוד. לכל פונקציה תכתבו הערה בתחילתה של Input/Output: מה היא מקבלת ומה היא מחזירה. זה עוזר להבין האם הדרך שלכם לפתרון הגיונית.
  3. תראו שכאשר הכנסתם קלט לתכנית הפלט יהיה תואם למה שרציתם.
  4. חישבו על מצבי קצה - בדומה לפתרון תרגילים מתמטיים או פיזיים, הבעיות יצוצו במצבי קצה. בתרגיל ״מפענח הצפנים״ למשל, מה יקרה או נזין קוד בן 3 ספרות? בן 6 ספרות? קוד שהוא בכלל אותיות? כיסוי כלל מצבי הקצה יהפוך את הקוד לשלם יותר.
  5. יעילות הקוד. כאשר כתבתם משהו, נסו לראות אם מה שכתבתם קריא לעין ויחסית פשוט. יש שיטה יותר ״מדוייקת״ לבדיקת יעילות קוד, אך אני מאמין שנלמד אותה בהמשך הקורס. בינתיים נסו לחשוב אחרי שניסחתם פתרון על האם יש דרך טובה יותר לכתוב אותה?

בכללי, מוזמנים להתייעץ על נושאים כאלו עם אנשים אחרים. תוכלו ללמוד כך המון.
זמין לשאלות והתייעצויות!

9 לייקים

גם אני לא מהסגל, @eliory09 אהבתי מאוד את הטיפים שלך ואני מסכימה ומזדהה עם כולם.

שני טיפים נוספים:

  1. תשתמשו בדוגמאות קלות בהתחלה, לוודא שהקוד שלכם עושה מה שאתם חושבים שהוא עושה. לדוג’ - כדי לבדוק אם איבר נמצא. אחרי/לפני אמצע הרשימה לי היה הכי קל בהתחלה לבדוק מחרוזת מספרית: 12345 ו- 123456. מאוד ברור לי איפה האמצע פה אז קל יותר לראות אם הקוד עובד.

  2. תוסיפו פרימטים כדי לדאבג - קפצה שגיאה שאתם לא מצליחים למצוא את המקור האמיתי לה? הקוד שלכם לא מתנהג בדיוק כמו שאתם רוצים? תנסו להוסיף פרימטים במהלך הקוד, תדפיסו לדוגמה משתנים או סוגי משתנים, משהו אינדיקטיבי לכאן תנאי מתקיים וכו’.

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

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

תודה רבה @eliory09 ו @ellie.shami! אחלה טיפים!