إلى أي مدى يقرأ منتجك جيدًا
يكتشف Syncanix ما يستطيع منتجك فعله بقراءته. ولا ينجح ذلك إلا إذا كانت القراءة جيدة، لذلك نقيسها على مشاريع عامة حقيقية، وننشر النتيجة، ونربط كل رقم في هذه الصفحة بمجموعة الاختبارات التي تنتجه. وإن ساءت القراءة، يفشل البناء قبل أن تتمكن هذه الصفحة من المبالغة.
أبرز النتائج
آخر تحقّق: 2026-07-18 · f8a6fe3c
كيف قِيس هذا
- ورقة الإجابات كُتبت يدويًا
قرأنا شيفرة كل مشروع بأنفسنا ودوّنّا كل إجراء موجود فيه فعلًا. ثم يُقيَّم Syncanix مقابل تلك القائمة: كم وجد منها، وكم مما وجده كان موجودًا حقًا.
- ما الذي يُحتسب مطابقة
عليه أن يسمّي الإجراء نفسه على العنوان نفسه، بما في ذلك أي بادئة تضيفها الشيفرة. وتُقارن العناصر النائبة بالموضع لا بالاسم، فتُحتسب صيغتان مختلفتان لكتابة «معرّف الطلب» في الموضع ذاته شيئًا واحدًا.
- يقرأ فقط ولا يشغّل شيئًا أبدًا
الاكتشاف يقرأ الشيفرة المصدرية. لا يشغّل تطبيقك أبدًا، ولا يراقب حركة البيانات، ولا يستدعي شيئًا. وكل رقم هنا خرج من القراءة نفسها التي ينفّذها `npx syncanix init` على جهازك.
- يُفحص عند كل تغيير، ومثبّت بالاختبارات
تُعاد قراءة المشاريع النموذجية عند كل تغيير في القارئ، وأرقام هذه الصفحة مربوطة بالاختبارات بما ينتجه ذلك التشغيل. وأي تراجع يُفشل البناء قبل أن يصل إلى الإنتاج.
مشاريع عامة حقيقية، مُقيَّمة
27 مشروعًا حقيقيًا، معظمها تطبيقات مرجعية مفتوحة المصدر، لكلٍّ منها ورقة إجابات كُتبت يدويًا. والمشاريع عامة، فيمكنك قراءة الملفات نفسها التي قرأناها.
تطبيقات نموذجية مبنية لهذا الغرض
تطبيق صغير لكل إطار عمل، مكتوب لاختباره، مُقيَّم مقابل حد أدنى على كل واحد بلوغه. وهذه هي المجموعة التي تعمل عند كل تغيير في القارئ.
| إطار العمل | تطبيقات نموذجية | مجتمعة | الحد الأدنى المطلوب |
|---|---|---|---|
| nestjs | 5 | 100% | 92% |
| express | 3 | 100% | 85% |
| fastapi | 8 | 100% | 92% |
| fastify | 3 | 100% | 85% |
| nextjs | 8 | 100% | 92% |
| graphql | 5 | 100% | 100% |
| grpc | 1 | 100% | 92% |
| trpc | 3 | 100% | 92% |
| websocket | 2 | 100% | 85% |
| springboot | 2 | 100% | 85% |
| django | 2 | 100% | 85% |
| flask | 2 | 100% | 85% |
| rails | 3 | 92.6% | 85% |
| phoenix | 1 | 100% | 85% |
| gin | 1 | 100% | 85% |
| chi | 1 | 100% | 85% |
| echo | 1 | 100% | 85% |
| fiber | 1 | 100% | 85% |
| net-http | 1 | 100% | 85% |
| actix | 2 | 100% | 85% |
| axum | 3 | 100% | 85% |
| laravel | 2 | 100% | 85% |
| aspnet | 1 | 100% | 85% |
| koa | 1 | 100% | 85% |
| hapi | 1 | 100% | 85% |
| elysia | 1 | 100% | 85% |
| litestar | 1 | 100% | 85% |
| sinatra | 1 | 100% | 85% |
| ktor | 1 | 100% | 85% |
| vapor | 1 | 100% | 75% |
| play | 1 | 100% | 75% |
| compojure | 1 | 100% | 75% |
| dream | 2 | 100% | 75% |
| servant | 1 | 100% | 75% |
| cowboy | 2 | 100% | 75% |
| plumber | 1 | 100% | 75% |
| lapis | 2 | 100% | 75% |
مشاريع حقيقية كاملة، مثبّتة على إصدار واحد
مشاريع حقيقية كاملة، مثبّتة على إصدار واحد كي لا تتحرك النتيجة من تلقاء نفسها، مقيسة مقابل وصف المشروع المنشور عن نفسه أو مقابل قائمة كُتبت يدويًا.
| إطار العمل | تطبيق نموذجي | النتيجة المجتمعة | مقيس مقابل |
|---|---|---|---|
| FastAPI | fastapi-realworld@029eb77 | 100% | openapi |
| Hono | hono-open-api-starter@0d5f3bf | 100% | hand-labelled |
| Symfony | symfony-realworld@5ad39de | 100% | openapi |
ما لا تدّعيه هذه الأرقام
- هذه مشاريع مرجعية، لا عيّنة عشوائية من كل البرمجيات. وقد يختلف مشروعك، ولهذا يكتب لك الإعداد قائمة تراجعها بدل أن يطلب منك تصديقنا.
- هذا يقيس القراءة: أي الإجراءات موجودة وأين. أما جودة وصف كل منها بعد ذلك فتُقيَّم على حدة ولا تدخل في هذه الأرقام.
- تُوسم حاجة الإجراء إلى تسجيل الدخول بحذر في بعض القُرّاء، وقد تختلف عن وصف المشروع المنشور في إجراءات عامة فعلًا. والنتيجة أعلاه تخص العثور على الإجراءات لا ذلك الوسم.
تحقّق منه على شيفرتك أنت
التحقّق الوحيد الذي يهم فعلًا هو منتجك أنت: شغّل الإعداد واقرأ القائمة التي يكتبها. كل قدرة تذكر الملف والسطر اللذين جاءت منهما، فتستطيع مقابلة القائمة بشيفرتك في دقائق. ولإعادة إنتاج أرقام هذه الصفحة بنفسك:
pnpm --filter syncanix test:f1
pnpm --filter syncanix scan:realأطر العمل المدعومة يعدّد كل إطار عمل ولغة يستطيع قراءتها، وما العمل إن لم تكن لغتك مذكورة.