اذا لم تجد ما تبحث عنه يمكنك استخدام كلمات أكثر دقة.
سمي أسلوب كيه آند آر بهذا الاسم لأنه كان يستخدم في كتاب كيرنيجهان ودينيس ريتشي "لغة البرمجة سي"، وهو يستخدم أيضا في السي. وهو أقل شيوعا بالنسبة للغات السي++ وسي شارب ولغات أخرى. وهو يحتفظ بأول قوس مفتوح على نفس السطر الموجود به بيان التحكم ليضع مسافة بادئة قبل هذه البيانات الموجودة بين الأقواس ويضع قوس الإغلاق على نفس مستوى الإزاحة مثل بيان التحكم (في سطر خاص به). ومع ذلك يتم وضع الوظائف بين الأقواس بشكل مختلف عن البيانات، القوس الوظيفي المفتوح يوضع عند السطر الذي يلي التصريح، على نفس مستوى الإزاحة كالتصريح. وذلك نظراً لأنه في لغة السي الأصلية تحتاج أنماط النقاش لأن يتم التصريح عنها في السطر اللاحق، بينما حين لا يكون هناك أي نقاشات ضرورية، لن يظهر القوس المفتوح على نفس السطر مع التصريح الوظيفي. القوس المفتوح لتصريحات الوظائف يعد استثناءً للقاعدة الأساسية.
int main(int argc, char *argv[]) { ... while (x == y) { something(); somethingelse(); if (some_error) do_correct(); else continue_as_usual(); } finalthing(); ... }
مؤيدو هذا الأسلوب يشيرون إليه أحيانا باسم "أسلوب القوس الحقيقي الواحد" (وتكتب اختصارا 1TBS أو OTBS) بسبب المجموعة السباقة للسي (بالرغم من أن مؤيدي الأساليب الأخرى كانوا يشتهرون باستخدام لغات قوية مثلها). الشيفرة المصدرية ليونكس ونواة نظم التشغيل تكتب بهذا الأسلوب.
في هذا الأسلوب تكون المقومات التي تسمح بإدخال سطور شيفرات جديدة في أسطر منفصلة، أما تلك التي تمنع الإدخال تكون في سطر واحد منفرد. هذا المبدأ يتعزز بوضع أقواس على كل كلمات الرئيسية التي تمثل ما يعرف بتدفق السيطرة مثل if, else, while وما شابه – حتى أدوات الشرط ذات السطر الواحد- بحيث يكون إدخال سطر جديد من الشيفرة في أي مكان "آمنا"
من مميزات هذا الأسلوب هي أن بداية كل قوس لا تتطلب سطرا إضافيا بنفسها، أما قوس النهاية فينتهي بالبيان الذي ينتمي إليه من الناحية المفاهيمية. أما من عيوب هذا الأسلوب هي أن قوس النهاية للبلوك يتخذ سطرا كاملا بنفسه والذي يمكن حله بصورة جزئية في بلوكات if/ else وبلوكات do/while:
//... if (x < 0) { printf("Negative"); negative(x); } else { printf("Non-negative"); nonnegative(x); }
وبالرغم من أن هذا الأسلوب يمكن أن يجعل من الصعب مسح أي شيفرة مصدرية تلفازيا لقوس الافتتاح لأي بلوك، وليس من المعتاد دائما أن يكون قوس الافتتاح هو القوس الشيق ولكن بيان التحكم الذي عرف هذا البلوك هو كذلك. من السهل العثور على بداية البلوك بتحديد موقع أول سطر أعلى قوس الإغلاق الذي يتم تحديده بمسافة بادئة بنفس المستوى.
وبينما يتم كتابة برنامج جافا غالبا بأسلوب أولمان أو بأساليب أخرى، فإن هناك هيكل محدد من شيفرة جافا يستعين بنسخة ثانوية من أسلوب كيه آند آر حيث يكون قوس الافتتاح على نفس سطر الدرجة أو تصريح الطريقة، وذلك غالبا لأن إرشادات أسلوب صن ميكروسيستمز الأصلية استعانت بأسلوب كيه آند إيه ونتيجة لذلك فإن معظم شيفرات المصادر المعيارية لجافا إيه بي آي تكتب بهذا الأسلوب. كما أنه أسلوب شائع في الإزاحات لكل من أكشن سكربت وجافا سكريبت بالاشتراك مع أسلوب أولمان.
كما يجب أن نذكر أن لغة البرمجة سي لا تحدد بشكل واضح هذا الأسلوب بالرغم من أننا نتابعها بصورة مستمرة عبر الكتاب. ومن الجدير بالذكر من هذا الكتاب:
موقع القوس أقل أهمية، بالرغم من أن الأشخاص لديهم معتقدات عاطفية. لقد اخترنا واحدا من عدة أساليب شائعة متنوعة. اختر أسلوبا يناسبك ثم استخدمه باستمرار.