הי צוות , מותר להשתמש בall , any?

הפוסט לא יכול להיות ריק …

ודאי. בשלב הזה אין דבר שאסור לכם להשתמש בו חוץ מ¯break ו¯continue.
(כמובן שלהפעיל את הראש, ואם יש מודול שפותר תרגיל שלם באופן שבו אתם לא עוברים דרך מטרת התרגול לא משתמשים בו)

לייק 1

למה אי אפשר להשתמש ב break ו continue??
עד מתי??

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

:S

לייק 1

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

לייק 1

כן. מודה שאני מהאסכולה.
אני משתמש ב¯continue ב¯break פעם בשנה בערך (באמת).

תכל’ס אין מניעה מלדבר על הסיבות:

  1. זה קצת לשקר לקורא. הקורא מניח שכשהוא רואה header של לולאה הוא יודע מה היא עושה והוא יכול לעבור הלאה. break ו־continue מפרים את ההבטחה הזו.
  2. גם כשהוא כן רואה את זה, זה מגה מעמיס על ה־cognitive load של הקורא.
  3. זה פתח מזעזע לבאגים נוראיים.
  4. אם יש לך חלוקה נכונה לפונקציות ולתפקידים, ואם את יודעת להשתמש נכון גם ב־while וגם ב־for, ב־99% מהמקרים את לא באמת צריכה break או continue, ככה שהם די code smell.
  5. זה Code Smell גם כי python -m this אומר Special cases aren’t special enough to break the rules, וזה בד"כ הסיבה שמשתמשים ב־break או ב־continue.

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


עם כל זה, מותר להשתמש ב־break/continue בעולם ואני לא עורך קוד שמגיע אליי בתעשייה עם break/continue.
זה לגיטימי, אני פשוט חושב שיש יותר מדי מקום ל־abuse בכלי הזה בקרב חניכים ולכן אני מעדיף שיתרגלו לעבוד בלי.
אם יחליטו שאחרי הקורס, כשהם רגילים לא להשתמש בזה, שזה כלי מועיל והם בעד השימוש בו – סבבה, לא אמנע.

7 לייקים

מה זה
Python -m this ???

לייק 1