forumفتح موضوع جديد
فتح موضوع جديد

ما هي أدوات وطرق مراجعة الأكواد التي يجب استخدامها لفحص كود مستلم من وكالة برمجية؟

İİsmetمشارك
المسمى الوظيفي
مدير اللوجستيات
تاريخ الانضمام
نوفمبر 2023
رسالة
112
#1

قمنا بتطوير الإصدار الأول من منصة لحجز مواعيد المرضى والاستشارات الطبية عن بعد لشركتنا الناشئة في مجال التكنولوجيا الصحية ومقرها سان فرانسيسكو عبر وكالة برمجيات خارجية. دفعنا حوالي 55.000 دولار لمشروع استغرق أربعة أشهر، واكتمل المشروع وفقاً للعقد وتم تسليمنا مستودع الكود.

نريد الآن متابعة تطوير المنتج داخلياً بفريق يضم مبرمجاً خبيراً senior واثنين من المتدربين. لكننا لا نستطيع تحديد مدى نظافة الكود المستلم (المبني على بنية Node.js و React)، وما إذا كان يحتوي على ثغرات خفية أو ديون معمارية قد تسبب لنا مشاكل لاحقاً.

نعلم بوجود أدوات آلية لمراجعة الكود والتحليل الثابت في السوق، لكن هل تعطي نتائج موثوقة فعلاً؟ ما هي الخطوات التي ينبغي اتباعها لفحص جودة الكود ومستوى أمانه بشكل شامل، وهل يكفي الاعتماد على الأدوات فقط؟

AAycan K***مشارك
المسمى الوظيفي
مدير الموارد البشرية
قطاع
كهرباء وإلكترونيات
نوع المنظمة
شركة تصنيع بـ 40 موظفًا
تاريخ الانضمام
يوليو 2024
رسالة
122
الأكثر إفادة#2

باختصار: أدوات مراجعة الأكواد الآلية ممتازة في اكتشاف الأخطاء النحوية، الثغرات الأمنية المعروفة، واعتماديات الحزم القديمة، لكنها عاجزة عن فهم العيوب المعمارية أو أخطاء منطق العمل (business logic). أفضل طريقة هي البدء بفحص آلي لاكتشاف الديون التقنية الأساسية، ثم الاستعانة بمهندس معماري خبير مستقل لمدة 15-20 ساعة للمراجعة المتعمقة.

ينبغي إجراء عملية المراجعة على ثلاث مراحل:

الخطوة الأولى هي فحص الاعتماديات والمفاتيح السرية. استخدموا الأدوات الآلية لفحص مكتبات الطرف الثالث داخل المستودع بحثاً عن الثغرات المعروفة، وأيضاً للبحث عن مفاتيح الـ API أو كلمات مرور قواعد البيانات المضمنة في الكود بالخطأ. فالوكالات غالباً ما تستخدم حزماً غير محدثة أو انتهى دعمها.

الخطوة الثانية هي التحليل الساكن للكود (SAST) وأدوات الـ linter. توفر هذه الأدوات تقريراً فورياً عن درجة تعقيد الكود (cyclomatic complexity)، ونسبة تغطية الاختبارات، والكتل المتكررة العشوائية (spaghetti code). كما تمنحكم تقييماً واضحاً حول سهولة قراءة الكود وتكلفة صيانته.

الخطوة الثالثة والأهم هي العين البشرية. لا توجد أي أداة آلية يمكنها التدقيق بشكل كامل في منطق الصلاحيات لمنصة صحية (مثل منع مريض من رؤية تفاصيل موعد مريض آخر) أو اكتشاف أخطاء فهرسة قواعد البيانات.

امنحوا المبرمج الخبير الجديد أسبوعاً لمراجعة المسارات والوظائف الأساسية يدوياً مستعيناً بنتائج الأدوات الآلية، وإذا تطلب الأمر، استعينوا بجلسة تدقيق معماري من مستشار مستقل.

HHilal B***محارب قديم
المسمى الوظيفي
مصمم جرافيك
قطاع
كهرباء وإلكترونيات
نوع المنظمة
وكيل إقليمي
تاريخ الانضمام
ديسمبر 2023
رسالة
17
#3

عند تشغيل الأدوات الساكنة، لا تركزوا فقط على معايير تنسيق الكود، بل دققوا أيضاً في قواعد الـ SAST الأمنية؛ فثغرات مثل حقن SQL، والمراجع المباشرة غير الآمنة للكائنات (IDOR)، وضعف التحقق من المدخلات تكتشفها القواعد الآلية بسهولة. تأكدوا أيضاً من نسبة الـ test coverage، فإذا لم تكتب الوكالة اختبارات وحدة (unit tests) ستكون إعادة هيكلة الكود كابوساً.

MMustafa G***مشارك
المسمى الوظيفي
مسؤول المشتريات
قطاع
تصنيع الأثاث
نوع المنظمة
مؤسسة متوسطة الحجم
تاريخ الانضمام
ديسمبر 2022
رسالة
72
#4

تسلمنا العام الماضي خلفية برمجية لتطبيق جوال بنفس الطريقة مقابل 40.000 دولار. الأدوات الآلية أعطت الضوء الأخضر لأن بنية الكود كانت ممتازة وظاهرياً نظيفة، لكن بعد الإطلاق بأسبوعين توقفت قاعدة البيانات تماماً؛ اتضح أن الوكالة لم تضع أي مفاتيح أجنبية (foreign keys) أو فهارس (indexes) في الجداول. مستحيل لأي أداة أن تكتشف هذا بمفردها.

HHasan E***مشارك
المسمى الوظيفي
سكرتير
قطاع
تجارة تجزئة
نوع المنظمة
شركة من 20 شخصاً
تاريخ الانضمام
سبتمبر 2023
رسالة
59
#5

دفعنا أثناء مرحلة التسليم 2.500 دولار لمهندس معماري مستقل خبير لعمل فحص عميق لمدة 15 ساعة؛ استخرج لنا 4 أخطاء معمارية رئيسية كانت ستعيق التوسع مستقبلاً و8 ثغرات صلاحيات مكشوفة في الكود المسلم. كانت خطوة تستحق كل ما أنفقناه عليها.

YYiğit Ç***مشاركعضو المجتمع
تاريخ الانضمام
مارس 2025
رسالة
107
#6

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

HHavva E***مشارك
المسمى الوظيفي
المدير المالي
قطاع
كهرباء وإلكترونيات
نوع المنظمة
مؤسسة متوسطة الحجم
تاريخ الانضمام
أغسطس 2024
رسالة
150
#7

أول شيء يمكنكم فعله غدًا مباشرة: افحصوا سجل الإصدارات في مستودع الكود (git log). هل دفعت الوكالة الشغل في آخر 3 أيام بدافع الهلع، أم تقدمت على مدى 4 أشهر بـ commit منتظمة ورسائل توضيحية؟ انضباط الإصدارات هو أكبر مؤشر على البنية الداخلية للكود.

KKadir T***مشاركعضو المجتمع
تاريخ الانضمام
أبريل 2026
رسالة
25
#8

قائمة تحقق عند تسليمات الوكالة: 1) هل نُسيت كلمات مرور API للخدمات الخارجية داخل الكود؟ 2) هل تراخيص المكتبات مفتوحة المصدر متوافقة مع استخدامكم التجاري؟ 3) هل خطوات النشر (deployment) والتنصيب المحلي تعمل كاملة في وثيقة واحدة؟

EElif V***مشارك
المسمى الوظيفي
فني مراقبة الجودة
قطاع
تصنيع الآلات
نوع المنظمة
شركة من 20 شخصاً
تاريخ الانضمام
نوفمبر 2025
رسالة
40
#9

هل كُتبت اختبارات، لا بد أن تنظروا إلى ذلك برأيي ثم طيب الوكالات عادة تقول لم نلحق ونكتب اختبارات وحدة، وبعدها تغيّر سطر كود واحد فتنهار البنية كلها.

İİlker Ö***خبير
المسمى الوظيفي
موظف متجر
قطاع
تصنيع الأثاث
نوع المنظمة
شركة عائلية
تاريخ الانضمام
يوليو 2022
رسالة
9
#10

أظهروا بعض الصبر مع الزميل الخبير الجديد الذي عيّنتموه. تسلّم كود كتبه شخص آخر هو أكثر عمل مزعج في الدنيا بالنسبة للمبرمجين. الأدوات الآلية على الأقل تُخرج النقاشات من الشخصنة وتربطها بمقاييس موضوعية.

İİlker K***مشارك
المسمى الوظيفي
خبير أمن المعلومات
قطاع
كاميرا
نوع المنظمة
شركة ضمن مجموعة استثمارية
تاريخ الانضمام
يوليو 2025
رسالة
185
#11

أخذت ملاحظة، شكرًا لك.

YYavuz B***مشاركعضو المجتمع
تاريخ الانضمام
مايو 2025
رسالة
59
#12

أنا أيضًا متحمس لمعرفة ذلك.

EEmre D***مشارك
المسمى الوظيفي
مدير التسويق
قطاع
عقارات
نوع المنظمة
ورشة تصنيع
تاريخ الانضمام
يناير 2025
رسالة
340
#13

أتابع الموضوع.

KKemal T***مشارك
المسمى الوظيفي
موظف محاسبة
قطاع
المحاسبة والاستشارات
نوع المنظمة
فريق من 8 أشخاص
تاريخ الانضمام
يناير 2025
رسالة
347
#14

أحسنت، بارك الله في جهدك. الإجابة تختلف كثيراً حسب القطاع، لا توجد قاعدة عامة.

دعني أتركها كملاحظة، قد تكون مفيدة.

MMelis K***مشارك
المسمى الوظيفي
مصمم مجوهرات
نوع المنظمة
نشاط تجاري بفرعين
تاريخ الانضمام
مايو 2024
رسالة
88
#15

الطريق الذي يبدو رخيصاً غالباً ما يكلف غالياً لاحقاً ثم عند اتخاذ القرار، اكتب أسوأ سيناريو أيضًا، وليس الأفضل فقط.

عندما تحاول تغيير كل شيء دفعة واحدة، لا يستقر أي شيء.. وإذا كتبت النتيجة هنا، فستفيد الآخرين أيضاً.

GGamze U***مشارك
المسمى الوظيفي
مدير التكنولوجيا
قطاع
مطبعة
نوع المنظمة
فريق من 8 أشخاص
تاريخ الانضمام
فبراير 2024
رسالة
270
#16

بعد تجربة ذلك، تغيرت نظرتي للأمور. الكود بدون وثائق تثبيت لا يُعتبر ملكك حتى لو كان بين يديك.

إذا كتبت النتيجة هنا، فستفيد الآخرين أيضاً.

LLale Y***مشاركعضو المجتمع
تاريخ الانضمام
يوليو 2025
رسالة
378
#17

أوافق.

TTaner A***محارب قديم
المسمى الوظيفي
متدرب
قطاع
الإعلانات والترويج
نوع المنظمة
نشاط تجاري بفرعين
تاريخ الانضمام
مارس 2025
رسالة
406
#18

سمعنا هذا كثيراً، لكنه لم يحدث معنا أبداً. يجب ربط جدول المدفوعات بمراحل العمل، وليس بالتقويم.

لو كنت مكانك، لسلك هذا المسار.

TTaner Ç***مشاركعضو المجتمع
تاريخ الانضمام
أبريل 2022
رسالة
352
#19

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

UUğur E***خبير
المسمى الوظيفي
موظف إدخال بيانات
قطاع
سياحة
نوع المنظمة
نشاط فردي
تاريخ الانضمام
يونيو 2023
رسالة
214
#20

عندنا نفس المشكلة. كل من يستعجل في أدوات مراجعة الأكواد يتعثر في نفس النقطة.

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

تم إغلاق هذا الموضوع.حدد المراقب الموضوع كحل. إذا كان لديك حالة مشابهة، يمكنك فتح موضوع جديد.
فتح موضوع جديد