If you do not find what you're looking for, you can use more accurate words.
غالباً ما يستخدم المبرمجين أدوات لتنسيق الكود المصدري لـ لغة البرمجة بشكل معين. أن تنسيق الكود بشكل لائق يجعله سهل القراءة والفهم. وعلاوة على ذلك، لكل مبرمج أسلوب مختلف مفضل للتنسيق، كاستعمال كود الفراغ أو وضعية القوس (الترقيم). منسق الكود يحول كود مصدري من تنسيق إلى آخر. وهذا مباشر نسبياَ بسبب البناء المطلق في لغة البرمجة. وتجميل الكود يتضمن تحليل الكود المصدري للمكونات، مثل جمل محددة، وكتل if، وحلقات تكرارية،... الخ. (انظر أيضاً إلى التحكم في التدفق)، وتنسيقهم بشكل محدد من قبل المستخدم في ملف تكويني. ويوجد مجملات كود مستقلة وأخرى مبنية بداخل بيئة تطوير متكاملة ومحرر نصوص. وعلى سبيل المثال، فأساليب لغات إيماكس المختلفة تستطيع أن تترك مسافة بشكل صحيح في كتل الأكواد بشكل جذاب. ومثال مبكر للطباعة الأنيقة هو برنامج بيل جوسبر "GRIND"، والذي استخدم تحسين اندماجي مع تحسين تنسيق برامج ليسب. وتم استعمال مصطلح "grind" في بعض دوائر ليسب كمرادف للكتابة الجمالية.
العديد من المشاريع مفتوحة المصدر أنشأت قوانين لتصميم الكود. ومن أشهرهم أسلوب GNU، وأسلوب BSD. وأعظم فرق بين الاثنين هو موقع القوس : في أسلوب GNU، فتح وغلق الأقواس على خطوط منفردة، بنفس الفراغ. بينما أسلوب BSD يضع قوس منفتح بنهاية السطر السابق، والقوس المنغلق يمكن وضع else بعده. كما يتغير موقع وحجم الفراغ.
المثال التالي يبين بعض هياكل C النموذجية وكيف تنسقهم قوانين أسلوب المسافة البادئة. وبدون أي تنسيق إطلاقا، يبدو كالأسفل:
int foo(int k) { if (k < 1 || k > 2) { printf("out of range"); printf("this function requires a value of 1 or 2"); } else { printf("Switching"); switch (k) { case 1: printf("1"); break; case 2: printf("2"); break; } } }
ينتج برنامج GNU للمسافة البادئة المعطى التالي عندما يُطلب منه ترك مسافة طبقا لقوانين GNU:
int foo (int k) { if (k < 1 || k > 2) { printf ("out of range"); printf ("this function requires a value of 1 or 2"); } else { printf ("Switching"); switch (k) { case 1: printf ("1"); break; case 2: printf ("2"); break; } } }
وينتج المعطى التالي عند التنسيق طبقا لقوانين BSD:
int foo(int k) { if (k < 1 || k > 2) { printf("out of range"); printf("this function requires a value of 1 or 2"); } else { printf("Switching"); switch (k) { case 1: printf("1"); break; case 2: printf("2"); break; } } }