المنتج
Archito جديديتعلّم من طلبات الدمج ويُبرز ما تعثّر التكاملات 25
الحلول
حسب الدور
لماذا AppArch
الموارد
العملاء الأسعار اتصل بنا
اللغة
تواصل معنا

الأعطال التي لم تخطر لاختباراتك، مُتتبَّعة من الطلب حتى قاعدة البيانات.

يتتبع SmartScan كل نقطة دخول - إجراء ويب أو مهمة أو مستهلك رسائل أو شاشة في تطبيق - عبر الخدمات والمعالجات حتى قاعدة البيانات أو الطلب الصادر، ويُعلِّم ما قد ينكسر في الطريق: بحث قد يعود فارغاً، كتابتان قد تنجحان جزئياً، عمود قد يتجاوزه الإدخال. ويأتي كل خطر مع السلسلة التي تقود إليه.

شاشات من تثبيت قيد التشغيل

ما الذي يبحث عنه

أربعة أنواع من المخاطر، كل منها يُكتشف على مسار حقيقي في شيفرتك - لا على نمط كتبه أحد.

السجل غير موجود

قد يعود بحث مبني على بيانات الطلب فارغاً ويستخدم الكود النتيجة دون تحقق: 500 بدل 404 أو رسالة مضللة.

كتابة جزئية

إيداعان منفصلان في تدفق واحد دون معاملة تحيط بهما: إذا فشل الثاني يبقى الأول مكتوباً.

فجوات العقد

قد يحمل الطلب أكثر مما يتسع له العمود، أو لا يُتحقق من عمود إلزامي في الطريق، أو يُكتب عمود فريد دون فحص التفرد.

الواجهة والجوال

طلب لا يعالج أحد فشله، أو خطأ يُعامل كنجاح، أو استجابة تُستخدم دون تحقق: تنهار الشاشة أو تبقى صامتة.

ما الذي يراه SmartScan في طلب واحد

يُنشأ الطلب عبر ست خطوات. كل خطوة استدعاء حقيقي في الكود؛ يتتبعها SmartScan ويتوقف حيث يمكن أن ينكسر شيء.

  1. نقطة الدخول POST /api/orders OrdersController.Create
  2. طلب الوسيط mediator.Send(CreateOrderCommand)
  3. المعالج CreateOrderHandler.Handle
  4. من الواجهة إلى التنفيذ ICustomerRepository.FindAsync CustomerRepository غير موجود: تُستخدم النتيجة دون تحقق
  5. عمليات الكتابة SaveChangesAsync() ×2 كتابة جزئية: عمليتا commit دون معاملة
  6. قاعدة البيانات orders · order_lines

كيف يعمل

الوحدة هي سلسلة: من حيث يدخل الطلب إلى حيث يلمس البيانات.

  1. 01

    البدء من كل نقطة دخول

    إجراءات الويب والمهام المجدولة ومستهلكو الرسائل؛ وفي الواجهات والتطبيقات الأحداث والتأثيرات والمسارات والشاشات.

  2. 02

    تتبع السلسلة

    من الواجهة إلى التنفيذ، والتجاوزات، وطلبات الوسيط إلى معالجاتها - حتى ORM أو استدعاء HTTP.

  3. 03

    استبعاد ما هو محمي

    يُحتسب الفحص أو البحث الذي يرمي استثناءً أو المدقق ذو الحد الصحيح - على مسار الكتابة نفسه. ولا يُبلَّغ عن سلسلة بلا خطر.

  4. 04

    إظهار المسار

    يسرد كل خطر خطواته بالملف والسطر، من نقطة الدخول حتى العمود.

تحذير لا بوابة

ليس SmartScan مجموعة قواعد: لا يخفض درجة ولا يُفشل خط إنتاج. يمكن إغلاق كل خطر على حدة مثل أي نتيجة. يُفعَّل لكل مشروع وهو مغلق افتراضياً، ويعمل في الفحوص الكاملة فقط، فتبقى فحوص طلبات الدمج سريعة.

بلغات الجامع التسع كلها

.NET Java Python Go PHP Ruby TypeScript Kotlin Swift

القاعدة ومخاطرة SmartScan ليستا الشيء نفسه

يظهر كلاهما في اللوحة نفسها، لكنهما يجيبان عن أسئلة مختلفة ويتصرفان بشكل مختلف.

ملاحظة قاعدةمخاطرة SmartScan
ما الذي يبحث عنهنمط معروف كتبه أحدهممسار عبر الكود الخاص بك
الدرجةيخفضها حسب الخطورةلا يمسها أبداً
خط النشريمكنه إيقافه بعتبة fail-onلا يوقفه أبداً
متى يعملمراجعات طلبات الدمج والفحوص الكاملةالفحوص الكاملة فقط، ويُفعّل لكل مشروع
ما الذي تحصل عليهالملف والسطر ومبرر القاعدةالسلسلة كاملة خطوة بخطوة مع الملف والسطر

أسئلة حول SmartScan

هل هي مجموعة قواعد أخرى؟
لا. تكبر مجموعة القواعد مع كل سيناريو يخطر لأحد؛ أما SmartScan فيتتبع مسارات الشيفرة نفسها. يحذّر ولا يخفض درجة ولا يُفشل خط إنتاج.
كيف تُقلَّل الإنذارات الكاذبة؟
لا تُحتسب الحماية إلا على مسار الكتابة نفسه: فحص صريح، أو بحث يرمي استثناءً حين لا يجد شيئاً، أو مدقق بالحد الصحيح. وقد فُحص كل نوع من المخاطر يدوياً على قواعد شيفرة حقيقية قبل إطلاقه.
هل يبطئ مراجعات طلبات الدمج؟
لا. يعمل SmartScan في الفحوص الكاملة للمستودع فقط؛ وتبقى فحوص طلبات الدمج على مسارها السريع.
ما اللغات والأطر؟
لغات الجامع التسع كلها: .NET وJava وPython وGo وPHP وRuby وTypeScript (بما فيها واجهات React وNext.js) وKotlin (Android وSpring) وSwift (iOS).

شاهده داخل المنتج

كل لقطات الشاشة

اكتشف الأعطال قبل مستخدميك

فعّل SmartScan لمشروع واحد خلال إثبات المفهوم؛ يُظهر الفحص الكامل التالي كل سلسلة معرّضة للخطر.