שאלה של טעם?

שאלה של טעם?

שאלה באמת טפשית בנוגע לסגנון (ואולי טיפה ביצועים). נניח שיש פונקצייה שאם תנאי כלשהו נכון אז הפונקצייה מבצעת פעולה ומחזירה true ואם התנאי לא נכון אז לא מבצעים כלום ומחזירים false. מה הסגנון שתבחרו:
if (condition) { //Do Something... return true; } return false;​
או:
if (condition) { //Do Something... return true; } else { return false; }​
או
if (!Condition) { return false; } //Do Something... return true;​
 

moshe1822

New member
ממתי כותבים

return בתוך IF תשתדל לכתוב return רק בסוף הפונקציה
 

aviadbarel

New member
לדעתי הוא התכוון לומר שגם באמצע פונ

קציה כותבים return לפעמים, תלוי במטרת הפונקציה. אם למשל תנאי מסויים מתקיים ועל פיו אני רוצה לבצע פעולות מסויימות ואז להחזיר ערך, ולדלג על שאר הקוד. למשל בנימה אופטימית - האם_אושר_קרדיט(מספר יתרת_בנק, מספר מחיר_רכב) { אם (יתרת בנק < מחיר הרכב המבוקש) { שלחהודעה("חהחהחה"); השמעהצליל(צחקוק.wmv); החזר שקר. } שלחהודעה("ללקוח ישארו {0} שקלים בחשבון הבנק", יתרת_בנק-מחיר_מבוקש); השמעצליל(מנגינהנעימה.wmv); החזר אמת; כמו במקרה בטיפשי הזה שבחרתי, אין לי שום כוונה לנגן ללקוח מנגינה נעימה אם אין לו מספיק כסף, כי הוא מבזבז את הזמן של סוכנות הרכב הדמיונית הזו... לכן שימוש בreturn ולפעמים גם בלי ערך החזרה בכלל, פשוט יחסוך לנו זמן ריצה וחישובים מיותרים.
 

moshe1822

New member
הרבה זמן לא ראיתי

פסאודו-קוד ועוד בעברית אז כול הכבוד אני חושב שלהחזיר ערך באמצע הקוד של הפונקציה זה לא נכון (חוקי אבל לא נכון) את "החזר שקר" או "החזר אמת" יש להחזיר רק בסוף הפונקציה. זה בכלל לא מחייב שתעבור על קוד שאתה לא רוצה , בתנאי שכתבתה נכון את הפונקציה ואת התנאים האם_אושר_קרדיט(מספר יתרת_בנק, מספר מחיר_רכב) { אם :(יתרת בנק < מחיר הרכב המבוקש) { שלחהודעה("חהחהחה"); השמעהצליל(צחקוק.wmv); ערך= שקר; } אחרת:{ שלחהודעה("ללקוח ישארו {0} שקלים בחשבון הבנק", יתרת_בנק-מחיר_מבוקש); השמעצליל(מנגינהנעימה.wmv); ערך=אמת; } החזר ערך; }
 

nadav1974

New member
לא ברור לי מאיפה הקונבנציה הזאת

בעולם האמיתי, בכל אופן, לא משתמשים בה. התועלת בה, בכל אופן, קטנה מאוד.
 

colossus

New member
רציתי לחזק את דבריך

בנוסף לכך, כאדם שבדיוק קיבל לידיו אפליקציה לא מתוחזקת בחברה ונהיה אחראי עליה, אני יוכל לומר בוודאות שמרבית המקרים בהם יש קוד כמו בדוגמא למעלה, הקוד הוא פשוט בלתי קריא בעליל. תנאי { ... ערך= שקר } אחרת { ... ערך= אמת } החזר ערך למה להלאות את קורא הקוד בלהגיע לסוף הפונקציה כדי לראות שהחזרת את "ערך", למה לא פשוט להחזיר את הערך כאשר כבר קבעת אותו ואין שום סיכוי בעולם שהוא ישתנה?
 

abt

New member
לא מתבייש בכלל

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

J u n k y

New member
גם אני שמעתי על זה

למיטב הבנתי זו קונבנציה ישנה מאוד ולא שמעתי על אף אחד שעובד ככה היום. להיפך: נניח שאתה רוצה להחזיר ערך ולעצור לולאה באמצע ריצה, הרבה יותר נכון להשתמש ב - return מתוך הלולאה ולא ב - break למשל.
 

Justin Angel

New member
../images/Emo26.gif

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