Transcript
00:00:00هل تعرف لماذا لا يبدو أن بعض الأشخاص يتطورون كمطورين رغم قضائهم سنوات في
00:00:04هذا المجال؟ هناك عوامل مختلفة متداخلة. وأحد تلك الأسباب هو عدم فهم
00:00:09المبادئ الأساسية للبرمجة. هذه ليست مجرد مفاهيم نظرية تتعلمها لمرة واحدة
00:00:14وتنساه. هذه هي الأشياء الحقيقية التي ستجعلك تنمو بشكل أسرع كمطور.
00:00:19لنبدأ بالمبدأ الأول، قاعدة فتيان الكشافة. هذا المبدأ يأتي من فتيان الكشافة في أمريكا.
00:00:25ببساطة، لديهم هذه القاعدة الواحدة البسيطة، اترك المخيم أنظف مما وجدته عليه.
00:00:31لا أعرف كم منكم يعرف "العم بوب" (Uncle Bob)، لكنه هو الذي روج لهذا المفهوم
00:00:36بين مجتمع البرمجة، وهو ممارسة ترك الكود أنظف قليلاً مما وجدته عليه.
00:00:41عند إجراء تغييرات على قاعدة برمجية موجودة، غالباً ما تتدهور جودة الكود، مما قد
00:00:47يزيد من الديون التقنية. ويمكن تقليل الديون التقنية من خلال التحسين المستمر،
00:00:52بغض النظر عن مدى صغره. لنفترض، على سبيل المثال، أنه تم تكليفك بمهمة إجراء تغيير في
00:00:57القيمة في هذه الدالة. لقد فعلت ذلك، ولكن يمكنك أن ترى أن تسمية المتغير ليست مفهومة
00:01:03بما يكفي. لذا، مثل معظم المطورين، يمكنك تجاهل ذلك والالتزام بما كُلفت به فقط.
00:01:08ولكن إذا اتبعت هذا المبدأ، فستقوم أيضاً بتغيير اسم المتغير إلى شيء أكثر
00:01:12قابلية للفهم. هذا مجرد مثال بسيط، ليس فقط أسماء المتغيرات، ولكن إذا رأيت أي شيء
00:01:18يمكن تحسينه، فقط افعل ذلك. وهذه اللفتة البسيطة ستكون قيمة جداً لقاعدة الكود.
00:01:24المبدأ الثاني، تجنب التحسين المبكر. ما يعنيه هذا هو، لا تحاول جعل الكود الخاص بك
00:01:30أسرع قبل أن يحتاج حقاً إلى أن يكون سريعاً. أولاً، اجعله يعمل. ثم، قم بالتحسين إذا لزم الأمر.
00:01:36كانت هناك مقولة شهيرة لدونالد كانوث، "التحسين المبكر هو أصل كل الشرور"،
00:01:42وهو أمر صحيح لأن المبرمجين غالباً ما يضيعون معظم وقتهم في القلق بشأن سرعة
00:01:47الأجزاء غير الحرجة من برامجهم. هذا لأنه كان هناك هذا المفهوم الدارج حول
00:01:51تحسين كل شيء. هذا المبدأ ليس ضد تحسين قاعدة الكود الخاصة بك. إنه يتعلق
00:01:57بفهم ما يحتاج إلى تحسين، والأهم من ذلك، متى يجب التحسين. وأعتقد أن هذا
00:02:03هو نقطة ضعف معظم المطورين لأنني رأيت أشخاصاً يستخدمون الخدمات المصغرة (microservices) رغم أن لديهم
00:02:08100 مستخدم أو يضيفون تخزيناً مؤقتاً لشيء غير مطلوب حتى. المبدأ الثالث،
00:02:14اكتب الكود من أجل من سيقوم بصيانته، وهو يعني ببساطة أنه عندما تكتب الكود، يجب أن تكتبه بطريقة
00:02:19تجعل المطورين المستقبليين الذين سيقومون بصيانة الكود الخاص بك لا يواجهون وقتاً صعباً في إدارته و
00:02:23فهمه. ذلك لأن الكود الذي تكتبه اليوم سيتم صيانته من قبل مطورين آخرين أو من قبلك
00:02:29أنت. إذا ركزت الآن فقط على جعله يعمل ولم تركز على الوضوح، ففي المستقبل إذا احتجت إلى
00:02:35العودة إلى الكود، ستواجه صعوبة في فهم ما يحدث. فقط انظر إلى
00:02:39هذا المثال. كلاهما يعمل ويؤديان نفس الوظيفة بالضبط. ولكن أيهما تفضل
00:02:45أن تراه في قاعدة الكود الخاصة بك؟ لذا فالخلاصة هي كلما كتبت أو ولّدت كوداً باستخدام الذكاء الاصطناعي،
00:02:50تأكد دائماً من أنه أسهل في الفهم وقابل للصيانة قبل أن تعتمد عملك.
00:02:55المبدأ الرابع لدينا يسمى YAGNI، وهو مجرد اختصار لـ "أنت لن تحتاج إليه" (You Aren't Going to Need It).
00:03:01هذا المبدأ يعني ببساطة أنه لا يجب عليك بناء شيء لا تحتاجه فعلياً أو فقط لأنك
00:03:06ربما ستحتاجه في المستقبل. لأن معظم المطورين لديهم عادة التنبؤ بما
00:03:10قد يحتاجونه في المستقبل. ولكن في معظم الأحيان، لن يتم استخدامه أبداً ويضيف فقط تعقيداً إضافياً
00:03:16للمشروع. تذكر هذا دائماً. إذا كنت تعمل على شيء قد تحتاجه في
00:03:21المستقبل، فأنت لا تكرس وقتك للشيء الذي تحتاجه حالياً. المبدأ الخامس، قم بأبسط
00:03:27شيء يمكن أن يعمل. ما يعنيه هذا هو كلما واجهت مشكلة، اختر دائماً
00:03:32أبسط حل يمكن أن يعمل بالفعل. لا تبالغ في التفكير. لا تبالغ في الهندسة. فقط اسأل
00:03:38نفسك، ما هو أبسط شيء يمكن أن يحل هذا الآن؟ هذه الفكرة تأتي من البرمجة المتطرفة
00:03:43(extreme programming)، والتي تخبرنا ببناء شيء بسيط أولاً، ثم إعادة تصميمه إلى شيء
00:03:48أفضل. معظم المطورين لا يدركون هذا، لكنهم غالباً ما يحاولون بناء الحل المثالي من
00:03:53البداية، مما يعقد حلهم في النهاية. مع هذا المبدأ، ستحصل على كود يعمل
00:03:59في وقت أقرب، وحتى لو اضطررت إلى تغييره لاحقاً، فعادة ما يكون ذلك أسهل من إصلاح تصميم معقد
00:04:04كان خاطئاً. وثق بي، كمطور، إدراك متى تبالغ في هندسة شيء ما
00:04:10أمر مهم جداً. لذا كانت هذه هي مبادئ البرمجة الخمسة التي يجب أن تبدأ
00:04:14في تنفيذها على الفور. بصرف النظر عن هذه، هناك أيضاً مبادئ أخرى لم أغطيها
00:04:19في هذا الفيديو. إذا كان هذا مفيداً، أخبرني في التعليقات وسأقوم بإنشاء جزء ثانٍ لهذا.
00:04:24في الوقت الحالي، هذا يكفي. تأكد من إظهار بعض الدعم وسأراكم يا رفاق في الفيديو القادم.
Community Posts
No posts yet. Be the first to write about this video!
Write about this video