كيف تفهم كود مشروع لم تكتبه؟

· 803 كلمة · 4 دقيقة قراءة

عندما تبدأ في العمل في إحدى الشركات ستواجهك في البداية مشكلة كبيرة وهي فهم الكود الحالي للمشروع الذي تعمل عليه. فهم الـ codebase الذي لم تكتبه أنت بنفسك صعب جداً وتزداد صعوبة كود المشروع ( codebase ) كلما كان الكود مكتوب بدون استخدام framework لأن الفريم وورك يجبرك على اتباع طرق معينة في كتابة الكود مما يجعل هناك قواعد مشتركة لفهم طريقة كتابة كود المشروع.

لا نستطيع دائماً اختيار طريقة كتابة كود البروجكت (Project Code | Codebase) لأننا لن نكون دائماً موجودين عند إنشاء المشروع. ولذلك لابد أن نفهم الكود مهما كانت طريقة كتابته.

تعرضت للكثير من الـ codebases في الكثير من الشركات. رأيت كود بروجكت مكتوب بـ Laravel ومنظم وقوى، ورأيت كود مكتوب بـ Angular، ورأيت كود مكتوب بـ Native PHP ومنظم وقوى، ورأيت كود معقد ومستفز مكتوب بـ Native PHP، ورأيت كود مكتوب بـ Java كتطبيق أندرويد، .. عملت كمطور تطبيقات أندرويد، وكمبرمج ويب (عملت بالـ PHP أكثر من الـ Javascript ).

بعد كل هذه المشاريع التي أدرتها ولم أكتبها من البداية، أريد أن أعطيك بعض النصائح لكي تفهم الـ codebase لأى مشروع تصبح مسؤول عنه.

نصائح لفهم كود مشروع لم تكتبه ؟ 🔗

١. هدف انشاء المشروع 🔗

لكي تفهم كود المشروع (project code) بشكل أسرع وأعمق لابد أن تعرف هدف إنشاء المشروع. مثال: هدف إنشاء موقع سوق دوت كوم هو عرض منتجات المحلات أمام الزوار لكي يتصفحوها بغرض الشراء والتسوق أون لاين. وبذلك تفهم أن هناك لوحة تحكم لأصحاب المحلات وحسابات للمستخدمين وتكامل لطرق الدفع أون لاين.. وتبدأ في معرفة الهدف الكبير للمشروع والأهداف الأصغر لكل جزء من المشروع.

٢. هدف كتابة كل جزء من المشروع 🔗

بعد أن تفهم كود المشروع، ثم تتعمق في فهم كل جزء من المشروع. ابدأ في تحويل هذه الأهداف والأفكار إلى أهداف أصغر ومتسلسلة وابدأ أربطها بالكود الذي تراه وتتصفحه. وبذلك تبدأ في فهم كود المشروع بشكل عام.

٣. مراجعة الـ documentation إن وجدت 🔗

إن كان هناك توثيق للكود (documentation)، قم بقراءة هذه الـ docs وراجع الكود أثناء قراءتها لتعميق فهمك للكود. أما إن لم يكن هناك توثيق للكود. فحاول أن تكتب docs فيما بعد لكي تسهل على من يأتي بعدك.

٤. معرفة تكوين وتركيب قواعد البيانات في المشروع 🔗

اعرف نوع قواعد البيانات المستخدمة في المشروع. قواعد بيانات relational مثل MySQL أم قواعد بيانات non-relational مثل mongodb أم أن قواعد البيانات عبارة عن ملفات txt أم عبارة عن ملفات csv .. وبعدها تبدأ في فهم كيف يتعامل الكود مع قواعد البيانات.

٥. معرفة أكثر جزء في المشروع تم تحديثه بمرور الوقت 🔗

إن كان المشروع منظم بـ version control مثل git ، استخدم git effort من git extras لتحديد أكثر ملف قام المبرمج بعمل تحديثات وتعديلات عليه. وبذلك أستطيع أن أعرف أهم جزء في الكود وما هي التعديلات التي تمت عليه وبذلك أفهم توجه الشركة من ناحية التعديلات والتاسكات المطلوبة والمهام التي يتم التركيز عليها أكثر.

أهم الأجزاء غالباً تكون الـ routing والـ business logic ولكن معرفة أكثر الأجزاء تغييراً وما هي التغييرات بالترتيب يجعلك تفهم أكثر عن الكود واتجاه التعديلات وسببها وتكون فكرة عامة عن عمل الكود وتوجه الشركة وهدف المشروع.

٦. مراجعة سجل التعديلات والـ pull requests 🔗

مراجعة التعديلات بالتسلسل تعطيك فكرة أقرب عن المشروع وطريقة كتابة الكود وأهداف التعديلات. ولكن من الصعب تتبع هذه التغييرات إن لم يكن المشروع يستخدم version control مثل git.

٧. استخدام الـ Tests للتعمق في فهم الكود 🔗

لفهم المشروع بعمق، ابدأ في كتابة أكواد testing في الـ unit tests الخاصة بالمشروع والإطلاع على الإختبارات القديمة الموجودة في المشروع وبذلك تبدأ في التعمق في فهم الترابط بين أكواد وملفات المشروع بشكل أقرب من التفاصيل.

٨. التحدث مع أحد المبرمجين عن المشروع 🔗

من أهم الطرق التي تساعدك في فهم المشروع بنظرة شاملة هي التحدث مع أحد المبرمجين الموجودين قبلك في المشروع أو المبرمج السابق المسؤول عن المشروع. لأنه سيعطيك مسارات تفكير وارشادات وملاحظات مهمة جداً ومباشرةً عن طريقة كتابة وطريقة عمل كود المشروع، والتقنيات المستخدمة في المشروع ولماذا تم اختيار هذه التقنيات بدلاً من البدائل الأخرى.

لذلك أنصحك بشدة بالجلوس مع أحد المبرمجين من نفس الشركة أو المبرمج السابق للمشروع لأنه سيعطيك الفكر الذي وراء كتابة هذا المشروع وتفاصيل المشروع وكيف تسير الأمور فيه.

٩. اتباع المسارات 🔗

من طرق التفكير الذكية التي تساعدك في فهم ترابط الكود والملفات والداتا داخل المشروع هي طريقة اتباع المسارات. لذلك ابدأ في تتبع المسارات بداية من htaccess مروراً بالـ routing مروراً بالملفات والكود والـ components والـ views المكونة لكل صفحة من الصفحات وطريقة اتخاذ قرار عرض أحد الصفحات.

ثم تتبع الروابط الداخلية من صفحة لأخرى. بعد اتباع معظم أو كل هذه المسارات ستجد نفسك فهمت الكود بعمق أكثر. وتستطيع أن تبدأ في تطويره والتعديل عليه.

هذه الملاحظات هامة جداً لك لكي تتعب بطريقة صحيحة وتصل إلى فهم الكود بدلاً من التخبط والإحباط الذي يصيبك إن بدأت في فهم وتتبع الكود بشكل عشوائي.

لمزيد من المعلومات عن البرمجة ولينكس وأندرويد وويندوز وماك وآيفون وتصميم المواقع، ابحث عن “موقع أبانوب حنا للبرمجيات” على جوجل وادخل للموقع وستجد موضوع جديد يشرح فكرة أو معلومة جميلة ومفيدة كل يوم.

التصنيفات: برمجة
مشاركة:
waffarx cash back