Loading…

حول منسق Swift عبر الإنترنت

كتابة Swift الذي **يترجم** أمر سهل. كتابة Swift **الجميل والمتناسق والجاهز للمراجعة** أصعب. يستخدم منسق Swift هذا عبر الإنترنت قواعد نمط SwiftFormat لتوحيد المسافة البادئة والتباعد والتفاف الأسطر حتى تبقى ملفات `.swift` الخاصة بك نظيفة عبر Xcode وSwift Playgrounds وخطوط أنابيب CI.

الميزات الرئيسية لمنسق Swift

  • **تنظيف بنقرة واحدة** للمسافة البادئة والتباعد والأقواس في كود Swift
  • **حجم مسافة بادئة قابل للتعديل** عبر شريط تمرير *حجم المسافة البادئة* (1–8 مسافات)
  • **تحكم في التفاف الأسعار / طول السطر** للحفاظ على التعبيرات الطويلة ضمن عرض العمود المفضل لديك
  • يدعم ملفات المصدر القياسية `.swift` ومقتطفات الكود المنسوخة
  • رائع لمشاريع **iOS وmacOS وwatchOS وtvOS وSwift جانب الخادم**
  • يستخدم محركًا على نمط SwiftFormat خلف الكواليس لإخراج سويفت سليم
  • تنسيق ثابت – تشغيله عدة مرات يحافظ على نفس الناتج
  • لا يلزم حساب – فقط الصق، وقم بالتنسيق وانسخ النتيجة النظيفة

🛠️ كيفية استخدام منسق سويفت for swift-formatter

1

1. الصق أو ارفع كود السويفت الخاص بك

📥 الصق كود السويفت مباشرة في المحرر، أو اسحب وأفلت ملف `.swift`. الأداة مُحسنة لمصادر سويفت نمط Xcode المعتادة.

2

2. اضبط المسافة البادئة وطول السطر

📏 استخدم شريط **حجم المسافة البادئة** لاختيار عدد المسافات لكل مستوى مسافة بادئة، وضبط **الالتفاف / طول السطر** للتحكم في مكان لف الأسطر الطويلة (أو اضبطه على `0` لتعطيل التنسيق القائم على الالتفاف).

3

3. انقر على "تنسيق"

⚡ اضغط على زر **تنسيق** لتطبيق قواعد نمط SwiftFormat. يقوم المنسق بتوحيد المسافة البادئة، والمسافات حول `:` والعوامل، ويلف الأسطر الطويلة وفقًا لإعداداتك.

4

4. راجع وانسخ النتيجة

🔍 قارن بين النسخة الأصلية والمنسقة. عندما تكون راضيًا عن النتيجة، انسخ السويفت المنسق مرة أخرى إلى Xcode، أو ملعب سويفت، أو commit Git الخاص بك.

المواصفات الفنية

محرك التنسيق والأسلوب

تعكس الأداة اتفاقيات SwiftFormat الشائعة للحفاظ على قاعدة الكود متسقة عبر الملفات والمساهمين.

الجانبالسلوكملاحظات
اللغةسويفتيعمل بشكل أفضل مع ملفات مصدر سويفت 5+.
المسافة البادئةمسافات قابلة للتكوين لكل مستوىيتم التحكم بها عبر خيار **حجم المسافة البادئة** (1–8).
لف الأسطرعمود لف اختيارييتم التحكم به عبر **الالتفاف / طول السطر** (0–120؛ `0` = لا لف).
المسافات البيضاءموحدة حول `:` والعوامليحسن قابلية القراءة والاتساق عبر مراجعات الكود.
ناتج ثابتنفس المدخل → نفس المخرجآمن للتشغيل عدة مرات دون انحراف في التنسيق.

المدخلات المدعومة والحدود

يركز على ملفات مصدر سويفت المستخدمة في مشاريع منصة Apple وسويفت من جانب الخادم.

المعاملالقيمة / السلوكملاحظات
امتدادات الملفات.swiftملفات مصدر Swift قياسية.
أنواع MIMEtext/x-swiftتُستخدم داخليًا للكشف في المحرر ومنطقة الإسقاط.
الحد الأقصى لحجم الإدخال≈ 2 ميجابايت من المصدرمن الأفضل تنسيق الملفات الكبيرة جدًا عبر SwiftFormat محليًا في CI.
امتداد الإخراج.swiftيُفضل حفظ المحتوى المنسق كملف مصدر Swift.

التحقق من الصحة والأخطاء

يتوقع المُنسق Swift صحيحًا نحويًا. إذا كان الإدخال غير مكتمل أو يحتوي على أخطاء نحوية كبيرة، فقد يفشل أو يعيد رسالة خطأ بدلاً من الإخراج المنسق.

بدائل سطر الأوامر مع SwiftFormat

هل تريد نفس النمط في Xcode أو CI أو خطافات pre-commit؟ استخدم SwiftFormat مباشرة:

macOS (Homebrew)

تثبيت SwiftFormat عبر Homebrew

brew install swiftformat

يضيف واجهة سطر الأوامر `swiftformat` إلى نظامك.

تنسيق ملف Swift واحد

swiftformat MyViewController.swift

يعيد كتابة الملف في مكانه باستخدام قواعد SwiftFormat الافتراضية.

تنسيق مشروع Xcode بالكامل

swiftformat .

يُنسق جميع ملفات `.swift` في الدليل الحالي بشكل متكرر.

التكوين على مستوى المشروع

استخدام تكوين مخصص

swiftformat . --config .swiftformat

تطبيق قواعد محددة للفريق المخزنة في ملف تكوين `.swiftformat`.

التكامل مع Git pre-commit

swiftformat . && git commit

تشغيل SwiftFormat قبل كل commit للحفاظ على نظافة الفرع الرئيسي.

استخدم هذه الأداة عبر الإنترنت للتنظيفات السريعة لمرة واحدة، ثم انسخ نفس النمط في مستودعك باستخدام SwiftFormat وملف `.swiftformat` مشترك.

حالات الاستخدام العملية لمُنسق Swift

تطوير تطبيقات iOS و macOS

احتفظ بكود UIKit وSwiftUI وCombine سهل القراءة ومتناسق عبر فروع الميزات.

  • توحيد تنسيق وحدات التحكم في العرض ونماذج العرض والخدمات قبل مراجعة الكود.
  • تنظيف كود Swift التجريبي أو النموذجي قبل نسخه إلى أهداف الإنتاج.
  • محاذاة المسافات البادئة والتفاف التسلسلات الهرمية المعقدة لعرض SwiftUI.
struct ContentView: View {
  var body: some View {
    VStack {
      Text("Hello")
      Button("Tap me") {
        print("Tapped")
      }
    }
  }
}

Swift من جانب الخادم (Vapor، Hummingbird، إلخ)

اجعل معالجات API وكود التوجيه أسهل في المسح الضوئي والمراجعة.

  • إعادة تنسيق المسارات وتصريحات الوسيط بحيث يسهل متابعة السلاسل المعقدة.
  • تنظيف هياكل ترميز/فك ترميز JSON ذات قوائم الخصائص الطويلة.
  • ضمان التفاف متناسق للمكالمات الطويلة لـ SQL أو عميل HTTP داخل كود Swift.
app.get("hello") { req async throws -> String in
    "Hello, world!"
}

تعليم وتعلم Swift

أظهر للطلاب كيف يبدو Swift الاصطلاحي وقلل "ضغط النمط" في التمارين.

  • توحيد كود Swift قبل مشاركة الأمثلة في الشرائح أو الوثائق.
  • تنظيف تسليمات الطلاب للتركيز على المنطق بدلاً من المسافات والمسافات البادئة.
  • إظهار كيف يحسن التنسيق الجيد إمكانية القراءة دون تغيير السلوك.
func fibonacci(_ n: Int) -> Int {
    if n < 2 { return n }
    return fibonacci(n - 1) + fibonacci(n - 2)
}

❓ Frequently Asked Questions

ماذا يغير منسق Swift هذا فعليًا؟

يضبط المنسق **المسافات البادئة والفراغات والتفاف الأسطر** لاتباع اصطلاحات نمط Swift. لا يغير منطق الكود الخاص بك عمدًا - فقط كيفية تخطيطه.

📏ماذا يجب أن أختار للتفاف الأسطر / طول السطر؟

تتراوح الخيارات الشائعة من **80 إلى 100 حرف**، اعتمادًا على فريقك وعرض الشاشة. استخدم قيمة أصغر للتخطيطات الضيقة (مثل Xcode في العرض المنقسم) وقيمة أكبر إذا كان فريقك مرتاحًا للأسطر الأوسع. اضبطه على `0` إذا كنت لا تريد التفافًا قائمًا على طول السطر.

🧹هل هذا بديل لـ SwiftLint؟

لا. يركز المنسق على **التخطيط والنمط** (المسافات البادئة، الالتفاف، التباعد)، بينما يركز SwiftLint على **قواعد الفحص والمشكلات المحتملة** (الكود غير المستخدم، التسمية، التعقيد). يستخدم العديد من الفرق كليهما معًا.

🔒هل من الآمن لصق كود Swift للإنتاج هنا؟

كقاعدة عامة، تجنب لصق الكود شديد الحساسية (مثل الخوارزميات الخاصة أو الأسرار) في أي أداة عبر الإنترنت. للمشاريع السرية، يُفضل تشغيل SwiftFormat محليًا أو داخل نظام CI الخاص بك بإعدادات خاصة.

هل يمكنني تشغيل هذا المنسق تلقائيًا في كل commit؟

نعم – استخدم **SwiftFormat** في مستودعك (على سبيل المثال عبر Git pre-commit hook، أو Xcode Build Phase، أو وظيفة CI) لفرض النمط نفسه تلقائيًا. هذه الأداة عبر الإنترنت مثالية للفحوصات السريعة والمقتطفات الصغيرة.

Pro Tips

Best Practice

اتفق مع فريقك على **حجم المسافة البادئة** و**طول السطر/التفاف** الواحد، ثم عكس تلك القيم في هذه الأداة وفي إعدادات `.swiftformat` الخاصة بك.

Best Practice

شغّل المُنسِّق عند طلبات السحب للحفاظ على مراجعات الكود مركزة على المنطق والهندسة المعمارية بدلاً من النقاشات حول المسافات.

Best Practice

استخدم المُنسِّق على الكود المُولَّد بلغة Swift (مثل الأدوات المُولِّدة للكود) ليبدو نظيفًا مثل الكود المكتوب يدويًا.

Best Practice

اجمع هذا المُنسِّق مع خاصية "إعادة المسافة البادئة" في Xcode فقط للتعديلات المحلية السريعة؛ استخدم SwiftFormat في التكامل المستمر للحفاظ على نمط متسق حقًا.

Additional Resources

Other Tools