بدايةً، خلونا نفهم ايش المقصود بالـ Refactoring (إعادة البناء)؟🤔
إعادة البناء والهيكلة هي عملية منهجية لتحسين الكود عن طريق عمل بعض التغييرات البسيطة فيه "بدون تغيير الوظائف الأصلية"، لتحويل الكود الحالي إلى كود نظيف وبتصميم بسيط ويلق لقّ.✨
إعادة البناء والهيكلة هي عملية منهجية لتحسين الكود عن طريق عمل بعض التغييرات البسيطة فيه "بدون تغيير الوظائف الأصلية"، لتحويل الكود الحالي إلى كود نظيف وبتصميم بسيط ويلق لقّ.✨
- مثل ماقلنا إن الغرض الرئيسي من الـ Refactoring هو تحويل الكود من (كود غير مرتب ومعقد) إلى (كود نظيف وبسيط).
لكن السؤال هنا، ليش مهم نتعلم الـ Refactoring؟
وليش مهم أحافظ على جودة أكوادي كمبرمج؟🤔
لكن السؤال هنا، ليش مهم نتعلم الـ Refactoring؟
وليش مهم أحافظ على جودة أكوادي كمبرمج؟🤔
لما تطبق الـ Refactoring راح يتميّز كودك بعدة مميزات أهمها:
- كود نظيف واضح للمبرمجين الآخرين:✨
اذا كنت مبرمج تعمل ضمن فريق، فهذه النقطة جداً مهمة بالنسبة لك، لأن حتى طريقة تسمية المتغيرات ممكن تخلي الكود صعب في فهمه ومعقّد بالنسبة للآخرين.❗️
- كود نظيف واضح للمبرمجين الآخرين:✨
اذا كنت مبرمج تعمل ضمن فريق، فهذه النقطة جداً مهمة بالنسبة لك، لأن حتى طريقة تسمية المتغيرات ممكن تخلي الكود صعب في فهمه ومعقّد بالنسبة للآخرين.❗️
- تكرار أقل في الكود.🔁
خذها قاعدة "الكود النظيف لايحتوي على تكرار"
تخيل أن عندك جزئية من الكود قمت بتكرارها بأكثر من مكان بداخل المشروع، واحتجت إلى تعديلها، لاحظ الكم الهائل من الوقت الي بتحتاجه لتطبيق هذا التعديل، عوضاً عن الأخطاء الوارد حدوثها بشكل كبير في هذه الحالة.🚫
خذها قاعدة "الكود النظيف لايحتوي على تكرار"
تخيل أن عندك جزئية من الكود قمت بتكرارها بأكثر من مكان بداخل المشروع، واحتجت إلى تعديلها، لاحظ الكم الهائل من الوقت الي بتحتاجه لتطبيق هذا التعديل، عوضاً عن الأخطاء الوارد حدوثها بشكل كبير في هذه الحالة.🚫
- إضافة ميزات جديدة للمشروع بشكل أسهل.✅
شيء طبيعي أن يحتاج الكود لإضافة ميزات جديدة فيه مع الوقت، لذلك لما يكون عندك كود نظيف وبسيط راح يسهل عليك إضافة أي ميزات جديدة بأخطاء أقل وجهد أقل.👌🏻
شيء طبيعي أن يحتاج الكود لإضافة ميزات جديدة فيه مع الوقت، لذلك لما يكون عندك كود نظيف وبسيط راح يسهل عليك إضافة أي ميزات جديدة بأخطاء أقل وجهد أقل.👌🏻
- اكتشاف الاخطاء بشكل أسرع.🔎
اكتشاف الأخطاء قد يأخذ وقت طويل من المبرمجين، خصوصاً اذا كانت الأكواد معقدة وغير واضحة، ولكن كل ماكان الكود أوضح وأبسط كل ماكان اكتشاف الأخطاء أسهل.✅
اكتشاف الأخطاء قد يأخذ وقت طويل من المبرمجين، خصوصاً اذا كانت الأكواد معقدة وغير واضحة، ولكن كل ماكان الكود أوضح وأبسط كل ماكان اكتشاف الأخطاء أسهل.✅
- السؤال الأساسي هنا كيف نسوي الـRefactoring؟🤔
إعادة الهيكلة والبناء تتم "كسلسة من التغييرات البسيطة على الأكواد"، كل تغيير منها يجعل الكود الحالي أفضل وأبسط ومن غير إيقاف عمل البرنامج أو المشروع.✅
إعادة الهيكلة والبناء تتم "كسلسة من التغييرات البسيطة على الأكواد"، كل تغيير منها يجعل الكود الحالي أفضل وأبسط ومن غير إيقاف عمل البرنامج أو المشروع.✅
تقنية الـRefactoring تركز بشكل كبير على الوظائف (functions & methods) لذلك راح نتكلم بشكل مبسّط عن إحدى التقنيات المستخدمة لها.👇🏻✨
- طريقة الاستخراج (Extract Method):
احدى الطرق المستخدمة في عمل الـRefactoring للوظائف (methods) وتعتبر أيضاً احد الخطوات الرئيسية في مناهج إعادة الهيكلة بشكل عام.✅
احدى الطرق المستخدمة في عمل الـRefactoring للوظائف (methods) وتعتبر أيضاً احد الخطوات الرئيسية في مناهج إعادة الهيكلة بشكل عام.✅
في مقولة برمجية مشهورة تقول :
"اذا كانت طول الميثود في كودك أكثر من 10 إلى 15 سطر فيجب عليك تقسيمها"🧩
طيب ليش نقسمها؟
تابع معي ..✨
"اذا كانت طول الميثود في كودك أكثر من 10 إلى 15 سطر فيجب عليك تقسيمها"🧩
طيب ليش نقسمها؟
تابع معي ..✨
الـ functions و الـ methods الطويلة غالباً تشكّل صعوبة في الفهم وصعوبة أيضاً في التغيير والتعديل عليها.
لذلك لما نستخدم طريقة الاستخراج مثلا راح نحصل على:
كود أكثر وضوح✅
أقل تكرار✅
أكثر قابلية للقراءة✅
لذلك لما نستخدم طريقة الاستخراج مثلا راح نحصل على:
كود أكثر وضوح✅
أقل تكرار✅
أكثر قابلية للقراءة✅
نهاية الثريد،✨
اتمنى أن تكونوا استفدتوا،،
بالمناسبة هذا موقع رهيب جداً لتعلم الـRefactoring
اذا مهتم ألقِ نظرة:👇🏻😍
refactoring.guru
اتمنى أن تكونوا استفدتوا،،
بالمناسبة هذا موقع رهيب جداً لتعلم الـRefactoring
اذا مهتم ألقِ نظرة:👇🏻😍
refactoring.guru
جاري تحميل الاقتراحات...