اذهب إلى المحتوى

السؤال

نشر (معدل)

السلام عليكم ، لقد انهيت المسار الأول من دورة "تطوير التطبيقات بإستخدام بايثون" ، و بدأت في مشروع ادارة مدرسة بإستخدام سطر الأوامرCLI School Management .

اواجه بعض التحديات المعقدة مثل ربط الكلاسات ببعضها (grade class مع student class) ، هل يجب ان يكون البرنامج كامل متكامل ؟ام ان اضافة بعض المهام الاساسية مثل اضافة طالب ، حذف طالب .... الخ كافي لمستواي الحالي ؟

حقيقتا اريد جعل وظائف المشروع اقرب للواقعية ، اعتقد انه سيإخذ مني الكثير من الوقت لإكماله كما اريد ، في نفس الوقت اريد البدء في المسار الثاني من الدورة  ، ما ارائكم ؟  زودوني بأفكار مشاريع اخرى لتطوير المهارات فيما تعلمته للآن. 

شكرا لكم.

 

تم التعديل في بواسطة Motasem Er

Recommended Posts

  • 0
نشر

ما تقوم به جيد جدًا، لكن المشروع الذي تريد تنفيذه بحاجة إلى أن تدرس المسار الثاني في دورة بايثون حيث سيتم استكمال دراسة أساسيات بايثون وأيضًا دراسة كيفية التعامل مع البيانات أقصد ملفات CSV وبيانات JSON وقواعد البيانات، وسيتم توظيف ما تعلمنها أيضًا في تطبيقات عملية أخرى، وستكتسب خبرة منها.

عامًة التركيز على الأساسيات هو الأهم ومشروع واحد لا يكفي، في البداية اجعل الأمر بسيطًا ثم زد من التعقيد، ولا تُفكر بالكود أولاً، بل حدد الفكرة التي تريد تنفيذها ثم قم بكتابة الميزات التي تريدها في البرنامج ثم تقسيم تلك الميزات إلى أجزاء والعمل على تنفيذها.

ابدأ بتنفيذ الوظائف الأساسية CRUD وهي  Create, Read, Update, Delete للطلاب والمعلمين/الصفوف، من خلال كلاسات وميثودز بداخلها مثلاً add_student(), delete_student(), show_grades()، ولا تحاول بناء كل الميزات مرة واحدة، حدد نطاقًا صغيرًا كإدارة الطلاب فقط.

وبخصوص ربط الكلاسات بطريقة بسيطة، فاستخدم علاقة واحد إلى كثير بين الصفوف والطلاب أي  حيث الصفوف بها عدد كبير من الطلاب بالتي كلاس الطالب يرث من الصف.

class Grade:
    def __init__(self, name):
        self.name = name
        self.students = []

class Student:
    def __init__(self, name, grade):
        self.name = name
        self.grade = grade

وأضف ميزة واحدة واقعية فقط كحساب متوسط درجات الطالب واستخدم ملفات JSON أو CSV لحفظ البيانات بدل قواعد البيانات المعقدة أو من الممكن sqlite3.

وحدد مهلة أسبوع لإصدار نسخة أساسية بعدها انتقل للمسار التالي مع العمل على تحسين المشروع جانبياً وتطبيق ما تتعلمه في الدروس الجديدة، وذلك للموازنة بين إدارة وقتك وبين توفير مزايا واقعية.

ولا تبحث عن الكمال في المشروع التدريبية، الأهم أن تتعلم من الأخطاء وتفهم العلاقات بين الكلاسات وتتعرف على نقاط ضعفك لتطويرها في المسار التالي.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...