ان كل من الشفرة النظيفة والسيئة هي تعمل , تبقى مهمة كتابة شفرة نظيفة هي تحد من قبل المبرمج
هل تساءلت يوما عن امكانية مبرمج اخر من قراءة الشفرة الخاصه فيك ؟
او هل تساءلت عن امكانية وسهولة صيانة الشفرة هذه؟
او لربما تساءلت ما مدى اداء وجودة هذه الشفرة؟
كل هذه الاسئلة وغيرها تكون اجابتها في تعلم مباديء الشفرة النظيفة, وبداية كل مبرمج انه يكتب شفرة سيئة ولكن لابد لك من تحديث معلوماتك ومفاهيمك في كيفية كتابة الشفرة.
يمكن لنا ان نختصر مباديء الشفرة النظيفة في السؤال التالي:
هل انت تحترم الشفرة التي تكتبها ام لا؟
ولكن ما هي الامور التي يجب ان نحترمها ؟
الاجابة تكون في في هذه الدورة حيث سنتطرق الى الامور التالية:
1. Clean code and bad code
2. Code Review – Process and Importance
3. Meaningful Names
4. Functions
5. Comments
6. Formatting
7. Classes, Objects, and Data Structures
8. Writing Clean Functions
9. Exception Handling
10. Unit Testing
11. Threading and Concurrency
12. Using Tools to Improve Code Quality
13. Refactoring Code
14. Implementing Design Patterns
تبدو عليك بعض هذه المفاهيم غريبة ولكن لا تستعجل سنتطرق لجميع هذه الامور وسنعتمد على مصادر معتبرة في هذه الصدد
سنبدأ بالتعرف على مميزات الشفرة السيئة ومدى اختلافها عن الشفرة الجيدة وسنقارن بين الشفرة السيئة والجيدة وما هي الاعتبارات التي يجب اخذها بظر الاعتبار في التحسين من جودة كتابة الشفرة وايضا سنتطرق الى عدد من النظريات والمباديء المعتمدة في كتابة شفرة نظيفة
سنتطرق الى مباديء برمجية متقدمة تؤخذ بنظر الاعتبار في كتابة شفرة نظيفة
ماذا سوف تتعلم
ستتعلم كل شيء تود معرفتة عن الشفرة النظيفة
Visual Studio or any IDEA
المتطلبات
ليس هنالك شروط لدخول الدورة
الجمهور المستهدف
لكل مطور او مبرمج يود ان يحسن مفاهيم كتابة الشفرة
لكل مطور يود ان يتناول الاجزاء المتقدمة في كتابة الشفرة
مطوري دوت نت
مطوري لغة سي شارب
محتوى الدورة
10 الأقسام85 محاضرات11 ساعه 45 دقيقة 8 ثواني
total length
مقدمة عن الدورة
اسباب الشفرة السيئة Clean Code - Bad Code Reasons Part 1
اسباب الشفرة السيئة Clean Code - Bad Code Reasons Part 2
اسباب الشفرة السيئة Clean Code - Bad Code Reasons Part 3
اسباب الشفرة الجيدة Clean Code - Good Code Reasons Part 1
اسباب الشفرة الجيدة Clean Code - Good Code Reasons Part 2
مقارنة بين الشفرة النظيفة والسيئة Clean Code - Bad Code vs Good Code
Clean Code - C# Coding Standards
Clean Code - Coding Principles and methodologies
Clean Code - Coding Convention
النمطية Clean Code - Modularity
Clean Code - KISS Methodology
Clean Code - YAGNI Methodology
Clean Code - DRY Methodology
Clean Code - SOLID Methodology
Clean Code - Bad Code and Code - Summary
Clean Code - Code Review
Clean Code - Code Review Process
Clean Code - Preparing Code For Review
Clean Code - Pull Requests_2
Clean Code - Review Pull Request
Feedback and knowing what you review
Clean Code - Pull Requests GitHub and Visual Studio
Classes Organization
Clean DataBase
Clean Entity Framework Model
Design Main Form
Add Home Page
Use region
Write Clean Function
Function Performance رفع اداء الوظيفة
Dispose philosophy فلسفة تحرير الكائنات لرفع اداء البرنامج
Use using way تحرير الكائنات بعد الانتهاء من استخدامها بشكل تلقائي
Design User Form تصميم نافذه اضافة مستخدم
Add Users Page اضافة صفحة ادارة المستخدمين
User Interface استخدام الواجهات لتقليل تكرار الشفرة
Add Users Class اضافة صنف المستخدمين
Get All Data جلب كافة البيانات
Add User Method وظيفة اضافة البيانات
Load Image وظيفة عرض الصورة
اضافة بيانات Add Data
Convert Image to byte تحويل الصورة الى مصفوفية من
الانتهاء من عملية الاضافة
Classes, Objects and Data Structure Summary ملخص عن الاصناف والكائنات وهياكل الب
Write Clean Function Summary ملخص عن كتابة وظائف نظيفة
اقتناص الاخطاء مقدمة Clean Code - Exception Handling
Checked and Uncheked Exception الاخطاء المتحققة والغير المتحققة
ArgumentNullException مثال عملي
خطأ الكائنات الفارغة Avoiding Null Pointer Exception
مثال عملي Argument Null Exception
Business rule exceptions الاخطاء العملية لعمل البرنامج
Exception should provide meaningful info يجب ان تحتوي الاخطاء على معلومات ذات مع
Custom Exception تخصيص الاخطاء
التشعب والتزامن Threading and Concurrency
ما الذي سنتعلمة Threading and Concurrency
Thead Life Cycle دورة حياة التشعب
Adding thread parameters
Using a thread pool تجميع الخيوط
TPL تجميع التشعب
async Task الوظائف العاملة في الخلفية
Mutex Object الكائن المزان
Semaphore الاشارات والمعالجة المتوازية
Limiting number of thread تحييد عدد الانوية المستخدمة في المعالج
DeadLocks حالة الجمود
Preventing DeadLocak منع الجمود
UNIT TESTING الاختبارات الاحادية
What is Unit Testing ما هي الاختبارات الاحادية
Why Unit Test لماذا الفحوصات الاحادية
Types of Softwire Tests انواع الاختبارات
Understanding Testing Tools فهم ادوات الفحص
Install MSTest اضافة اطار للفحص
Test Class and Test Method الصنف والوظيفة الفاحصة
خطوات اجراء الفحص الاحادي Unit Test Steps
Code Coverage تحليل نسبة الفحصوصات المنجزة
Timeout and Test Category فترة اجراء الفحص وصنفة
Method Attributes واصفات الوظيفة
Test initialize and Test Cleanup
Assert Class Methods
Exception الوظائف الفاحصة للأخطاء
Collection Assert فحص المجاميع
Fluent Assertions مكتبة
Create Interface and Entity
Test Add Method فحص عملية اضافة البيانات
Entity Framework Integration Test اختبارات التكامل
نهاية دورة الشفرة النظيفة والخطوة التالية
محتوى الدورة
10 الأقسام85 محاضرات11 ساعه 45 دقيقة 8 ثواني
الساعات الإجمالية
INTRODUCTION
1
الفصول 5 دقيقة 4 ثواني
مقدمة عن الدورة
5 دقيقة 4 ثواني
CLEAN CODE AND BAD CODE الشفرة الجيدة والسيئة
15
الفصول2 ساعه 4 دقيقة 26 ثواني
اسباب الشفرة السيئة Clean Code - Bad Code Reasons Part 1
9 دقيقة 46 ثواني
اسباب الشفرة السيئة Clean Code - Bad Code Reasons Part 2
16 دقيقة
اسباب الشفرة السيئة Clean Code - Bad Code Reasons Part 3
15 دقيقة 52 ثواني
اسباب الشفرة الجيدة Clean Code - Good Code Reasons Part 1
10 دقيقة 56 ثواني
اسباب الشفرة الجيدة Clean Code - Good Code Reasons Part 2
12 دقيقة 40 ثواني
مقارنة بين الشفرة النظيفة والسيئة Clean Code - Bad Code vs Good Code
6 دقيقة 46 ثواني
Clean Code - C# Coding Standards
12 دقيقة 55 ثواني
Clean Code - Coding Principles and methodologies
3 دقيقة 58 ثواني
Clean Code - Coding Convention
4 دقيقة 33 ثواني
النمطية Clean Code - Modularity
4 دقيقة 19 ثواني
Clean Code - KISS Methodology
4 دقيقة 8 ثواني
Clean Code - YAGNI Methodology
4 دقيقة 31 ثواني
Clean Code - DRY Methodology
5 دقيقة 16 ثواني
Clean Code - SOLID Methodology
6 دقيقة 56 ثواني
Clean Code - Bad Code and Code - Summary
5 دقيقة 50 ثواني
CODE REVIEW - PROCESS AND IMPORTANCE مراجعة الشفرة ضمن فريق العمل
7
الفصول 50 دقيقة 39 ثواني
Clean Code - Code Review
6 دقيقة 12 ثواني
Clean Code - Code Review Process
6 دقيقة 34 ثواني
Clean Code - Preparing Code For Review
6 دقيقة 40 ثواني
Clean Code - Pull Requests_2
5 دقيقة 25 ثواني
Clean Code - Review Pull Request
3 دقيقة 36 ثواني
Feedback and knowing what you review
8 دقيقة 17 ثواني
Clean Code - Pull Requests GitHub and Visual Studio
13 دقيقة 55 ثواني
CLASSES, OBJECTS, AND DATA STRUCTURES الاصناف والكائنات وهيكلة البيانات
21
الفصول3 ساعه 21 دقيقة 42 ثواني
Classes Organization
14 دقيقة 11 ثواني
Clean DataBase
11 دقيقة 2 ثواني
Clean Entity Framework Model
8 دقيقة 7 ثواني
Design Main Form
13 دقيقة 6 ثواني
Add Home Page
10 دقيقة 37 ثواني
Use region
4 دقيقة 20 ثواني
Write Clean Function
14 دقيقة 11 ثواني
Function Performance رفع اداء الوظيفة
7 دقيقة 28 ثواني
Dispose philosophy فلسفة تحرير الكائنات لرفع اداء البرنامج
13 دقيقة 46 ثواني
Use using way تحرير الكائنات بعد الانتهاء من استخدامها بشكل تلقائي
6 دقيقة 1 ثواني
Design User Form تصميم نافذه اضافة مستخدم
8 دقيقة 39 ثواني
Add Users Page اضافة صفحة ادارة المستخدمين
7 دقيقة 53 ثواني
User Interface استخدام الواجهات لتقليل تكرار الشفرة
6 دقيقة 13 ثواني
Add Users Class اضافة صنف المستخدمين
4 دقيقة 23 ثواني
Get All Data جلب كافة البيانات
3 دقيقة 30 ثواني
Add User Method وظيفة اضافة البيانات
8 دقيقة 51 ثواني
Load Image وظيفة عرض الصورة
12 دقيقة 31 ثواني
اضافة بيانات Add Data
8 دقيقة 51 ثواني
Convert Image to byte تحويل الصورة الى مصفوفية من
7 دقيقة 17 ثواني
الانتهاء من عملية الاضافة
7 دقيقة 43 ثواني
Classes, Objects and Data Structure Summary ملخص عن الاصناف والكائنات وهياكل الب
23 دقيقة 2 ثواني
WRITING CLEAN FUNCTIONS كتابة وظائف نظيفة
1
الفصول 14 دقيقة 21 ثواني
Write Clean Function Summary ملخص عن كتابة وظائف نظيفة
14 دقيقة 21 ثواني
EXCEPTION HANDLING اقتناص الاخطاء
8
الفصول1 ساعه 8 دقيقة 15 ثواني
اقتناص الاخطاء مقدمة Clean Code - Exception Handling
5 دقيقة 59 ثواني
Checked and Uncheked Exception الاخطاء المتحققة والغير المتحققة
9 دقيقة 46 ثواني
ArgumentNullException مثال عملي
6 دقيقة 54 ثواني
خطأ الكائنات الفارغة Avoiding Null Pointer Exception
12 دقيقة 28 ثواني
مثال عملي Argument Null Exception
10 دقيقة 48 ثواني
Business rule exceptions الاخطاء العملية لعمل البرنامج
6 دقيقة 6 ثواني
Exception should provide meaningful info يجب ان تحتوي الاخطاء على معلومات ذات مع
8 دقيقة 14 ثواني
Custom Exception تخصيص الاخطاء
8 دقيقة
THREADING AND CONCURRENCY الخيوط والتوازي
12
الفصول1 ساعه 34 دقيقة 28 ثواني
التشعب والتزامن Threading and Concurrency
12 دقيقة 42 ثواني
ما الذي سنتعلمة Threading and Concurrency
5 دقيقة 40 ثواني
Thead Life Cycle دورة حياة التشعب
8 دقيقة 53 ثواني
Adding thread parameters
6 دقيقة 19 ثواني
Using a thread pool تجميع الخيوط
6 دقيقة 11 ثواني
TPL تجميع التشعب
7 دقيقة 34 ثواني
async Task الوظائف العاملة في الخلفية
6 دقيقة 36 ثواني
Mutex Object الكائن المزان
9 دقيقة 5 ثواني
Semaphore الاشارات والمعالجة المتوازية
9 دقيقة 35 ثواني
Limiting number of thread تحييد عدد الانوية المستخدمة في المعالج
6 دقيقة 8 ثواني
DeadLocks حالة الجمود
9 دقيقة 16 ثواني
Preventing DeadLocak منع الجمود
6 دقيقة 29 ثواني
UNIT TESTING الاختبارات الاحادية
18
الفصول2 ساعه 7 دقيقة 3 ثواني
UNIT TESTING الاختبارات الاحادية
4 دقيقة 53 ثواني
What is Unit Testing ما هي الاختبارات الاحادية
9 دقيقة 32 ثواني
Why Unit Test لماذا الفحوصات الاحادية
6 دقيقة 23 ثواني
Types of Softwire Tests انواع الاختبارات
4 دقيقة 53 ثواني
Understanding Testing Tools فهم ادوات الفحص
10 دقيقة 29 ثواني
Install MSTest اضافة اطار للفحص
5 دقيقة 27 ثواني
Test Class and Test Method الصنف والوظيفة الفاحصة
3 دقيقة 37 ثواني
خطوات اجراء الفحص الاحادي Unit Test Steps
11 دقيقة 29 ثواني
Code Coverage تحليل نسبة الفحصوصات المنجزة
7 دقيقة 11 ثواني
Timeout and Test Category فترة اجراء الفحص وصنفة
4 دقيقة 46 ثواني
Method Attributes واصفات الوظيفة
7 دقيقة 21 ثواني
Test initialize and Test Cleanup
4 دقيقة 18 ثواني
Assert Class Methods
10 دقيقة 10 ثواني
Exception الوظائف الفاحصة للأخطاء
4 دقيقة 48 ثواني
Collection Assert فحص المجاميع
9 دقيقة 55 ثواني
Fluent Assertions مكتبة
4 دقيقة 12 ثواني
Create Interface and Entity
9 دقيقة 32 ثواني
Test Add Method فحص عملية اضافة البيانات
8 دقيقة 7 ثواني
Entity Framework Integration Test اختبارات التكامل
1
الفصول 16 دقيقة 59 ثواني
Entity Framework Integration Test اختبارات التكامل