هندسة البرمجيات بشكل عام كمبرمج محترف لابد من الإلمام بها وفهم شروطها وأدواتها ولكن سنركز في هذا الموضوع علي هندسة البرمجيات في علم البيانات والخطوات والأساليب المتبعة التي تمكنك من العمل مع علماء البيانات وتجعلك تكتب اكواد احترافية قابلة للقراءة والتطوير بإذن الله .
أساسيات هندسة البرمجيات
•write clean code
•improve code efficiently
•add effective documentation
•code refactoring
•write clean code
•improve code efficiently
•add effective documentation
•code refactoring
كتابة التعليمات البرمجية بطريقة نظيفة ومعيارية Clean and modular code.
في بدايتك لكتابة الأكواد في مشاريع وتطبيقات علم البيانات الكود الخاص بك يتم استخدامه في عملية الإنتاج والتشغيل علي الخوادم لضمان بقاء المشروع مستقر لذلك يجب ان يحظي بمعايير الضمان والموثوقية والكفاءة
في بدايتك لكتابة الأكواد في مشاريع وتطبيقات علم البيانات الكود الخاص بك يتم استخدامه في عملية الإنتاج والتشغيل علي الخوادم لضمان بقاء المشروع مستقر لذلك يجب ان يحظي بمعايير الضمان والموثوقية والكفاءة
ولأخذ مثال علي الكود النظيف في الإنجليزية عندما تكتب جملة كبيرة تتكون من خمس أسطر ثم يأتي شخصا أخر يكتب تلك الجملة بمفهوم بسيط يتلخص في سطر واحد ويصبح المعني واحد في الجملتين وهذا ما يعني انها جملة نظيفة وسهلة القراءة وأكثر وضوحا.
الكود النظيف أمرا بالغ الأهمية خصوصا اذا كان الكود مستخدم باستمرار في عملية الإنتاج والصناعة والعمل هذا سيسهل عليك وعلي الآخرين فهم التعليمات البرمجية وإعادة استخدامها .
في اماكن مختلفة و يمكنك كتابة التعليمات البرمجية داخل وحدة Modular أو ملف وإعادة استخدام هذا الملف في أكثر من مكان .
كمثال بسيط علي هذا ولنفرض أن دولاب ملابسك الشخصي ممتلئ بالملابس والجوارب والقمصان في رف واحد شي طبيعي عندما تريد استخراج نوع معين من الملابس ستستغرق المزيد من الوقت ولكن اذا وضعت الجوارب في درج والقمصان في درج تستطيع ايجاد ما تبحث عنه بسهولة في كل مرة
كذلك في البرمجة تقوم الوحدات Modular بتقسيم الكود الخاص بك الي وظائف ووحدات منطقية للعثور بسرعة علي أجزاء من التعليمات البرمجية ذات الصلة لاستخدامها في العديد من المهام والأماكن المختلفة دون اللجوء الي كتابة أكواد اضافية غير ضرورية
قواعد كتابة الكود المعياري Modular Code .
•القاعدة الأولي : لا تكرر نفسك Don't Repeat Your Self - DRY
•القاعدة الثانية : قم بالتلخيص لتحسين القراءة Abstract out logic to imporove readbility
•القاعدة الأولي : لا تكرر نفسك Don't Repeat Your Self - DRY
•القاعدة الثانية : قم بالتلخيص لتحسين القراءة Abstract out logic to imporove readbility
•القاعدة الثالثة :قلل عدد المكتبات والداوال Minimize the number of function and modules
•القاعدة الرابعة :لكل دالة وظيفة واحدة Function should do one thing
•القاعدة الخامسة : أسماء المتغيرات Varibles name
•القاعدة الرابعة :لكل دالة وظيفة واحدة Function should do one thing
•القاعدة الخامسة : أسماء المتغيرات Varibles name
•القاعدة السادسة : لا تكثر عدد الوسيطات لكل دالة Try use fewer than three argument per function
•القاعدة السادسة : لا تكثر عدد الوسيطات لكل دالة Try use fewer than three argument per function
ربما يكن ذلك غير إجباري او ضروري ولكن من المفضل أثناء كتابتك للكود .
ربما يكن ذلك غير إجباري او ضروري ولكن من المفضل أثناء كتابتك للكود .
- Recatoring تعني إعادة بناء الكود وهو مصطلح لأعادة هيكلة الكود الخاص بك اتحسين هيكلته بالداخل دون تغيير وظائفه الخارجية ، اعادة البناء تمنحك فرصة افضل لتطبيق التعليمات البرمجية الخاصة بك وجعلها اكثر نموذجية
في البداية قد تري حقا ان هذا مضيعة للوقت ولكن في الحقيقة اعادة بناء الكود يمنحك فرصة افضل انت وفريقك لتطوير هذا الكود فيما بعد علي المدي الطويل ويسمح لك ايضا باستخدام أجزاء من الكود بسهولة دون الرجوع اليه .
كلما تدربت علي إعادة هيكلة الكود الخاص بك كلما كنت أكثر احترافية
كلما تدربت علي إعادة هيكلة الكود الخاص بك كلما كنت أكثر احترافية
ولكن لماذا عمليات Refactor ؟
•للحفاظ على نظافة الكود الخاص بك
•لتحسين أداء التطبيق
•يمكنك توفير الوقت والمال في المستقبل
•عندما يكون الكود قديم الطراز
•يجعل العثور على الأخطاء أسهل
•يحسن تصميم النظام
•للحفاظ على نظافة الكود الخاص بك
•لتحسين أداء التطبيق
•يمكنك توفير الوقت والمال في المستقبل
•عندما يكون الكود قديم الطراز
•يجعل العثور على الأخطاء أسهل
•يحسن تصميم النظام
أنواع التوثيق Documentation Type .
هناك عدة أنواع للتثيق يتم استخدامها داخل الكود
•علي مستوي السطر Line level - وهو عبارة عن تعليق مضمن يتم استخدامه بجانب الكود لتوضيح التعليمات البرمجية الخاصة بك .
هناك عدة أنواع للتثيق يتم استخدامها داخل الكود
•علي مستوي السطر Line level - وهو عبارة عن تعليق مضمن يتم استخدامه بجانب الكود لتوضيح التعليمات البرمجية الخاصة بك .
الوحدات النمطية Function or modular level -
الوحدات النمطية باستخدام سلاسل Docstring لوصف الغرض من الكود وتفاصيله وتوضع في أعلي الكود بين 3 علامات تنصيص
الوحدات النمطية باستخدام سلاسل Docstring لوصف الغرض من الكود وتفاصيله وتوضع في أعلي الكود بين 3 علامات تنصيص
علي مستوي المشروع Project level - وهي الوثائق التي تتم اضافتها داخل ملف Readme
وتشمل البيانات والمكتبات الخاصة بالمشروع مع شرح تفصيلي لها وكيفية تشغيلها .
وتشمل البيانات والمكتبات الخاصة بالمشروع مع شرح تفصيلي لها وكيفية تشغيلها .
سلاسل التوثيق Docstring -
هي أجزاء من الوثائق التي تشرح مهمة أي دالة أو وحدة في التعليمات البرمجية الخاصة بك من الناحية المثالية يجب أن تحتوي علي شرح للوظائف والدوال المكتوبة في الكود ، ودائما ما تكون Docstring موجودة ضمن 3 علامات تنصيص وتكون علي سط واحد أو في عدة أسطر
هي أجزاء من الوثائق التي تشرح مهمة أي دالة أو وحدة في التعليمات البرمجية الخاصة بك من الناحية المثالية يجب أن تحتوي علي شرح للوظائف والدوال المكتوبة في الكود ، ودائما ما تكون Docstring موجودة ضمن 3 علامات تنصيص وتكون علي سط واحد أو في عدة أسطر
هذه أهم خطوات هندسة البرمجيات المطلوبة منك كمبرمج أولا وكعالم بيانات ثانيا لكتابة كود سهل ونظيف ويسهل علي الجميع فهمه واستخدامه فيما بعد بإذن الله .
ان شاء الله الثريد القادم عن الخطوات المتبعة في علم البيانات لحلول المشاكل وبناء التقارير .
ان شاء الله الثريد القادم عن الخطوات المتبعة في علم البيانات لحلول المشاكل وبناء التقارير .
جاري تحميل الاقتراحات...