עד כמה טוב הוא קורא את המוצר שלכם
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פריימוורקים נתמכים מפרט כל פריימוורק ושפה שהוא יודע לקרוא, ומה לעשות אם שלכם לא ברשימה.