שאלות תרגיל בית 1

שאלה לגבי קונבנציה

שאלה לגבי קונבנציה

על ידי עומר פז בתאריך
מספר תגובות: 4

שלום,

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

אשמח לדעת מדוע הורדו לנו למרות זאת 5 נק'. האם שם הפונקציה עצמו לא עומד בדרישות הקונבנציה?

האם נדרש לקרוא לפונקציה stringDuplicate במקום stringDuplicator?

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

להלן תמונה: 

שאלה לגבי קונבנציית שמות לפונקציות ב-C

אשמח להבהרה בנושא.

תודה ויום טוב!

בתגובה ל: עומר פז

תשובה ל: שאלה לגבי קונבנציה

על ידי יורי פלדמן בתאריך
השם duplicateString או copyString הוא מתאים יותר בתור שם פונק' לפי מסמך הקונוונציות
הייתם יכולים לסמן אותו בחלק א' בתור שגיאת קונוונציה אבל ללא קשר, בחלק ב' (ובכלל בתרגילי הבית) הקוד שאתם כותבים צריך לתאום לקונוונציות.
בתגובה ל: יורי פלדמן

תשובה ל: שאלה לגבי קונבנציה

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

שמות הפונקציות יהיו מנוסחים כפעלים:
• למשל findRecommendedMoviesForClient( טוב(, ולא recommendedMoviesForClient( רע(
• במקרה והפונקציה היא עבור טיפוס נתונים / ADT בשפת C שמה צריך להתחיל בשם המבנה, למשל:
dateDestroy ,dateIsValid ,dateCreate עבור טיפוס Date

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

תשובה ל: שאלה לגבי קונבנציה

על ידי יורי פלדמן בתאריך

findRecommendedMoviesForClient זו פקודה, מתחיל בפועל

stringDuplicator זה שם עצם ללא קשר למיקום ה-string... בכל מקרה לא מדובר בפונק' ממשק של ADT, אין פה עניין של מרחב שמות שמצריך תחילת כשם הטיפוס (שימו לב אגב לתרגיל הנוכחי שב-++C תחילית של שם הטיפוס היא שגויה בכל מקרה כי עניין מרחבי השמות נפתר בצורה אחרת).

הרעיון הוא ששם של פונק' צריך להיות פקודה: create, destroy, find, duplicate ולא שם עצם: duplicator. זה קצת קטנות אבל גם הורדת הנק' בהתאם (נק' אחת בתרגיל, 0.1 בסופי), ומה שחשוב פה זה שתשימו לב לשמות שאתם נותנים לדברים - זה בהחלט מאד משמעותי ליכולת שלכם לתחזק את הקוד לאורך זמן.

בתגובה ל: יורי פלדמן

תשובה ל: שאלה לגבי קונבנציה

על ידי עומר פז בתאריך
הבנתי. תודה על ההבהרה וההבחנה בין שם עצם לפועל במקרה הזה.
שאלה נוספת לגבי זה-במקרה כזה שבו אנו מתעסקים בטיפוס שהוא "פשוט" (כמו מחרוזת במקרה הזה), יש משמעות למיקום ה-string בשם הפונקציה?
כלומר, האם זה משנה אם קוראים לה duplicateString או stringDuplicate?