juicer – استخلاص SSOT من الكود الموجود Image: AI generated

“لدينا بالفعل 200 نقطة نهاية”

شخص يقرأ مقال yongol ويسأل: “جيد، لكن مشروعنا لديه بالفعل عشرات الآلاف من الأسطر. هل نحتاج لكتابة SSOT من الصفر؟”

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

لذلك صُنع juicer. يستخلص SSOT من الكود الموجود.


ضع الفاكهة كاملة، يخرج العصير

juicer يحلل كود إطار العمل الويب بشكل ساكن لاستخلاص المواصفات التصريحية تلقائياً.

juicer scan --openapi ./my-project

سطر واحد ينتج مواصفات OpenAPI 3.0 من الكود الموجود. ما كان يستغرق أياماً من العمل اليدوي ينتهي في ثوانٍ.

صفر حمل على وقت التشغيل. لا حاجة للقياس. تحليل ساكن بحت.


ثلاثة أطر عمل

إطار العملاللغةالاستخلاص
GinGoالمسارات، الربط، الاستجابات، الوسيط
NestJSTypeScriptالمزخرفات، DTOs، الحراس، المعترضات
FastAPIPythonالمسارات، نماذج Pydantic، التبعيات

تجميع DDL

juicer ddl ./migrations -o ./schema

يقرأ تاريخ الترحيل بالكامل ويخرج لقطة CREATE TABLE نظيفة لكل جدول.


هيكلة استعلامات sqlc

juicer sql next --repo ./repository --queries ./db/query

next – سير عمل السقاطة. يعرض طريقة Repository التالية بدون استعلام.


الدخول إلى خط أنابيب yongol

خرج juicer هو دخل yongol. juicer يستخلص SSOT من الكود الموجود؛ yongol يتحقق من الاتساق ويولّد الكود. التحول من brownfield إلى greenfield يحدث تدريجياً.

ليس أساسات بل تعزيز مقاوم للزلازل. نمط Strangler Fig لـ Fowler (2004).


ابدأ

npx skills add park-jun-woo/juicer
juicer scan --openapi ./my-project

الكود الموجود يصبح عصيراً.

الكود: github.com/park-jun-woo/juicer


المراجع

  • Huang, R. et al. (2024). Generating REST API Specifications through Static Analysis. ICSE 2024. ACM
  • Perry, D. E. & Wolf, A. L. (1992). Foundations for the Study of Software Architecture. ACM
  • Fowler, M. (2004). StranglerFigApplication. Link
  • Lercher, A. et al. (2024). Generating Accurate OpenAPI Descriptions. arXiv
  • Chauhan, S. et al. (2026). OpenAI for OpenAPI. arXiv
  • De Silva, L. & Balasubramaniam, D. (2012). Controlling software architecture erosion. ScienceDirect
  • Fritzsch, J. et al. (2019). Microservices Migration in Industry. arXiv
  • Curino, C. A. et al. (2008). Graceful database schema evolution. VLDB
  • Nghiem, D. et al. (2023). REST API Design Practices. IEEE

مقالات ذات صلة