למה קוד פרוצדורלי לבדו לא מספיק?
כאשר תוכנה גדלה, קשה מאוד לעקוב מי שינה נתון מסוים, מי אחראי לשגיאה, ומה הקשר בין חלקי הקוד השונים.
קוד פרוצדורלי:
- מפזר את הנתונים בין פעולות רבות
- מקשה על תחזוקה ושינויים
- גורם לתלות חזקה בין חלקי קוד רחוקים
חשיבה אנושית = חשיבה בעצמים
בני אדם חושבים באופן טבעי במונחים של עצמים:
בית, תלמיד, משחק, קבוצה, מכונית.
כאשר אנו מתרגמים בעיה לתוכנה:
- נזהה את העצמים
- נאפיין כל עצם לפי תכונות ופעולות
- נבנה קוד שמשקף את העולם האמיתי
דוגמה מהחיים
graph TD
A[בעיה] --> B[זיהוי עצמים]
B --> C[הגדרת תכונות]
B --> D[הגדרת פעולות]
למשל:
- משחק כדורגל ⟵ שחקן, קבוצה, כדור
- סידור חדר ⟵ חפצים, מיקום, פעולות הזזה