سعيد شعبان
سعيد شعبان

@Saeed_SH23

26 تغريدة 8 قراءة Feb 24, 2022
هندسة البرمجيات في علم البيانات
في هذا الثريد سنركز علي أساسيات هندسة البرمجيات المطلوبة منك أثناء عملك كمحلل أو عالم بيانات تعمل مع فريق من المحللين أو مفردك
كيف تكتب كود نظيف
قواعد كتابة كود معياري
طرق إعادة بناء الأكواد
كيف تكتب كود فعال
وكيف تستخدم التوثيق داخل الأكواد
هندسة البرمجيات بشكل عام كمبرمج محترف لابد من الإلمام بها وفهم شروطها وأدواتها ولكن سنركز في هذا الموضوع علي هندسة البرمجيات في علم البيانات والخطوات والأساليب المتبعة التي تمكنك من العمل مع علماء البيانات وتجعلك تكتب اكواد احترافية قابلة للقراءة والتطوير بإذن الله .
أساسيات هندسة البرمجيات
•write clean code
•improve code efficiently
•add effective documentation
•code refactoring
كتابة التعليمات البرمجية بطريقة نظيفة ومعيارية Clean and modular code.
في بدايتك لكتابة الأكواد في مشاريع وتطبيقات علم البيانات الكود الخاص بك يتم استخدامه في عملية الإنتاج والتشغيل علي الخوادم لضمان بقاء المشروع مستقر لذلك يجب ان يحظي بمعايير الضمان والموثوقية والكفاءة
أولا : يجب أن يكون الكود نظيف Clean ونظيف تعني التالي
•سهل القراءة Readuble
•بسيط Simple
•مختصر Concise
ولأخذ مثال علي الكود النظيف في الإنجليزية عندما تكتب جملة كبيرة تتكون من خمس أسطر ثم يأتي شخصا أخر يكتب تلك الجملة بمفهوم بسيط يتلخص في سطر واحد ويصبح المعني واحد في الجملتين وهذا ما يعني انها جملة نظيفة وسهلة القراءة وأكثر وضوحا.
الكود النظيف أمرا بالغ الأهمية خصوصا اذا كان الكود مستخدم باستمرار في عملية الإنتاج والصناعة والعمل هذا سيسهل عليك وعلي الآخرين فهم التعليمات البرمجية وإعادة استخدامها .
ثانيا : Modular Code الكود المعياري
بمجرد أن يكون الكود نظيف يجب ان يكون معياري Modular ومعياري يعني أنه يتم تقسيم البرنامج منطقيا الي وظائف ووحدات نمطية Function and Modules
في البرمجة الوحدة Modular هي مجرد ملف علي غرار تغليف التعليمات البرمجية في دالة واحدة وإعادة استخدامها
في اماكن مختلفة و يمكنك كتابة التعليمات البرمجية داخل وحدة Modular أو ملف وإعادة استخدام هذا الملف في أكثر من مكان .
كمثال بسيط علي هذا ولنفرض أن دولاب ملابسك الشخصي ممتلئ بالملابس والجوارب والقمصان في رف واحد شي طبيعي عندما تريد استخراج نوع معين من الملابس ستستغرق المزيد من الوقت ولكن اذا وضعت الجوارب في درج والقمصان في درج تستطيع ايجاد ما تبحث عنه بسهولة في كل مرة
كذلك في البرمجة تقوم الوحدات Modular بتقسيم الكود الخاص بك الي وظائف ووحدات منطقية للعثور بسرعة علي أجزاء من التعليمات البرمجية ذات الصلة لاستخدامها في العديد من المهام والأماكن المختلفة دون اللجوء الي كتابة أكواد اضافية غير ضرورية
قواعد كتابة الكود المعياري Modular Code .
•القاعدة الأولي : لا تكرر نفسك 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
•القاعدة السادسة : لا تكثر عدد الوسيطات لكل دالة Try use fewer than three argument per function
•القاعدة السادسة : لا تكثر عدد الوسيطات لكل دالة Try use fewer than three argument per function
ربما يكن ذلك غير إجباري او ضروري ولكن من المفضل أثناء كتابتك للكود .
ثالثا : Refactor Code إعادة البناء
عندما تكتب الكود لأول مرة في مشروعك أو فكرتك سيكون كل همك هو جعل الكود يعمل فقط وينفذ المهمة التي تكتبه لأجلها ، من الصعب تحديد أفضل طريقة لكتابة الأكواد ولكن من الأفضل معرفتك ب Refactor Code
عندما يتحسن كودك باستمرار
- Recatoring تعني إعادة بناء الكود وهو مصطلح لأعادة هيكلة الكود الخاص بك اتحسين هيكلته بالداخل دون تغيير وظائفه الخارجية ، اعادة البناء تمنحك فرصة افضل لتطبيق التعليمات البرمجية الخاصة بك وجعلها اكثر نموذجية
في البداية قد تري حقا ان هذا مضيعة للوقت ولكن في الحقيقة اعادة بناء الكود يمنحك فرصة افضل انت وفريقك لتطوير هذا الكود فيما بعد علي المدي الطويل ويسمح لك ايضا باستخدام أجزاء من الكود بسهولة دون الرجوع اليه .
كلما تدربت علي إعادة هيكلة الكود الخاص بك كلما كنت أكثر احترافية
ولكن لماذا عمليات Refactor ؟
•للحفاظ على نظافة الكود الخاص بك
•لتحسين أداء التطبيق
•يمكنك توفير الوقت والمال في المستقبل
•عندما يكون الكود قديم الطراز
•يجعل العثور على الأخطاء أسهل
•يحسن تصميم النظام
رابعا : الكود الفعال Efficent Code
بعد إعادة البناء باستخدام Refactor من المهم تحسين كفاءة التعليمات البرمجية بالإضافة إلي جعلها نظيفة وقياسية ، هناك جزءان لجعل الكود فعال
•تقليل الوقت المستغرق Reducing Run Time
•تقليل المساحة التي تستغلها الذاكرة Reducing space memory
خامسا : التوثيق Documentaion
التوثيق هو نص اضافي أو معلومات مصورة تأتي مع الكود أو ضمنه ، يعتر التوثيق أمر هام لتوضيح الأجزاءالمعقدة في البرنامج مما يسهل علي نفسك والآخرين التنقل بين التعليمات البرمجية ، كما يحتوي عي وضف كيف ولماذا يتم استخدام المكونات المختلفة للبرنامج .
أنواع التوثيق Documentation Type .
هناك عدة أنواع للتثيق يتم استخدامها داخل الكود
•علي مستوي السطر Line level - وهو عبارة عن تعليق مضمن يتم استخدامه بجانب الكود لتوضيح التعليمات البرمجية الخاصة بك .
الوحدات النمطية Function or modular level -
الوحدات النمطية باستخدام سلاسل Docstring لوصف الغرض من الكود وتفاصيله وتوضع في أعلي الكود بين 3 علامات تنصيص
علي مستوي المشروع Project level - وهي الوثائق التي تتم اضافتها داخل ملف Readme
وتشمل البيانات والمكتبات الخاصة بالمشروع مع شرح تفصيلي لها وكيفية تشغيلها .
سلاسل التوثيق Docstring -
هي أجزاء من الوثائق التي تشرح مهمة أي دالة أو وحدة في التعليمات البرمجية الخاصة بك من الناحية المثالية يجب أن تحتوي علي شرح للوظائف والدوال المكتوبة في الكود ، ودائما ما تكون Docstring موجودة ضمن 3 علامات تنصيص وتكون علي سط واحد أو في عدة أسطر
هذه أهم خطوات هندسة البرمجيات المطلوبة منك كمبرمج أولا وكعالم بيانات ثانيا لكتابة كود سهل ونظيف ويسهل علي الجميع فهمه واستخدامه فيما بعد بإذن الله .
ان شاء الله الثريد القادم عن الخطوات المتبعة في علم البيانات لحلول المشاكل وبناء التقارير .

جاري تحميل الاقتراحات...