איך אתם מדבגים את הקוד שלכם?
-
כיוון שהרבה מזמן הפיתוח אצלי הולך על דיבוג של הקוד (בין בכתיבה של קוד חדש ובין דיבוג קוד ישן)
הייתי שמח לשמוע מהניסיון של החברים כאן מה הם עושים כשהם מחפשים באג
והאם יש קיצורי דרך?
מה הכלים היעודיים לכך עושים? ומתי להשתמש בהם?
בקיצור כשאתם מגלים פלט לא מצופה מה הצעדים הבאים שלכם?
(אני מקווה שהשאלה במקום ,ושיש בכלל כללים בזה) -
@nigun אמר באיך אתם מדבגים את הקוד שלכם?:
כיוון שהרבה מזמן הפיתוח אצלי הולך על דיבוג של הקוד (בין בכתיבה של קוד חדש ובין דיבוג קוד ישן)
me too
בדרך כלל אני מתחיל consol.log אחרי כל שלב, ואז אני יודע עד איפה זה הצליח ואיפה זה נכשל, וגם לפי הפלט של הקונסול אני יודע מה הפונקציה קיבלה וממילא למה היא נכשלה.
-
@יוסף-בן-שמעון
שכחתי לכתוב שזה בערך מה שגם אני עושה
לדחוף print בכל שלב ולראות איפה זה נתקע
(ואחר כך לחפש את כל מה שהוספתי בשביל למחוק) -
@יוסף-בן-שמעון למה לא נקודות עצירה?
-
@יוסף-בן-שמעון כל שאר הדברים שאתה מכיר כן לימדו אותך?
אתה בטח מכיר,
breakpoint
זה תמונה של breakpoint בכלי המפתחים של כרום, מוכר לך?
-
@יוסף-בן-שמעון במקום להכניס console.log עוצרים בנקודה שרוצים ובודקים ערכים של משתנים, אפשר לצעוד שורה שורה משם וכו' וכו' אתה בטח מכיר.
-
ככה זה נראה כשמסתובבים פה אוטודידקטים דוברי אידיש שוטפת ועברית מגומגמת ולהפך, שיכולים צ'יק צ'אק לכתוב את WAZE באקסס (בלי להביא ספריות מבחוץ), אבל לא בטוח מכירים את breakpoint ידידתנו הבסיסית.
@ארכיטקט, אם אתה כבר פה, אולי תחווה דעתך על התופעה המופלאה והיחודית לק"ק. -
-
@יוסף-בן-שמעון אני עדיין לא מאמין... לא נראה לי שתצליח לשכנע אותי אחרת...
-
@בעזרתו אסביר את @nigun שמפתח (לרוע מזלו) בPHP,
ששם אין חיה כזו - דיבאגר.@יוסף-בן-שמעון אם אתה כותב בJS,
תשתמש ב-VSCode,
שם אם אתה עוצר את הקוד באיזו נקודה, אתה יכול לראות את כל המשתנים,מה הם מכילים וכו'.
אפשר גם בכרום, יותר מורכב.
עריכה: אני רואה שזה תוכן הלינק ש @dovid הביא.גם לפייתון יש כזה דיבאגר, בעורך הקוד PyCharm.
רק לPHP אי אפשר...
סיבה לנטוש. @nigun , שים לב.טוב, מספיק ירדתי על PHP. בס"ה היא הייתה ידידה טובה,
ודי עזרה, בימות ההתחלה שלי בכתיבת קוד.
אבל היום... לא רואה טעם אחד להשאר בה. -
@MusiCode אמר באיך אתם מדבגים את הקוד שלכם?:
איזו סיבה יש להשאר ב-PHP?
א. רנדור תצוגה - שילוב בין HTML לקוד, יש בזה הרבה פעמים חיסכון גדול בעבודה. בפלטפורמות אחרות מסובך מאוד לייצר תצוגה בצד שרת (אם אי כיום הצורך בזה פוחת אבל זה עדיין נורא נח ומהיר לפיתוח).
ב. יציבות - אתה לא תלוי בפעילות של יישום, ואתה לא צריך להפעיל אף יישום. אתה משנה את הקוד וצופה בתוצאות. אם יש שגיאה בגלל לקוח אחד היא לא מפילה את היישום.
ג. בגרות - php היא שפה בוגרת מאוד, יש לה דרך וכלים לכל מטרה. בnode יש הרבה דברים שכשאתה רוצה לעשות אתה מרגיש הראשון שעושה את זה. וגם מה שלא לעיתים קרובות כרוך בהרבה עבודה.
ד. שליטה - php היא שפה מאוד עקבית ומאוד צפויה. אתה יכול לחשבן עם מחשבון כמה זיכרון תצטרך בכך וכך תעבורה, ואין לך פתאום מקרי ניפוח זיכרון או מעבד מסתוריים שמצריכים חקירת שב"כ יסודית.טוב, עם כל זאת אני ממש נגד PHP ואני הראשון שאומר לעזוב אותה (ומי ששם לב רואה שכל מה שכתבתי זה חסרונות של node ).
אבל זה בדיוק מה שזה מראה: לכל דבר יש מעלות וחסרונות, וphp לצערינו עדיין רלוונטית. -
@yossiz אמר באיך אתם מדבגים את הקוד שלכם?:
אני לא משתמש ב-PHP אבל אף פעם לא שמעתי על debugger ל-PHP
@MusiCode אמר באיך אתם מדבגים את הקוד שלכם?:
שמפתח (לרוע מזלו) בPHP,
ששם אין חיה כזו - דיבאגר.למעשה חיפוש גוגל פשוט מגלה שכן יש דיבאגר(ים) ל-PHP...