تنسيق الشيفرات البرمجية في بايثون

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

يمكن كتابة (أو بعبارة أدق، تنسيق) معظم اللغات البرمجية بتنسيقات مختلفة، يكون بعضها مقروءًا أكثر من الآخر. وينصح دائمًا بكتابة شيفرات برمجية يمكن للأشخاص الآخرين قراءتها بسهولة، وأفضل طريقة لتحقيق ذلك هي اتباع تنسيق جميل في كتاب الشيفرات البرمجية.

تتّبع معظم المشاريع المكتوبة بلغة بايثون دليل التنسيق PEP 8، والذي يشجّع على اعتماد تنسيق يمتاز بالمقروئية العالية والمظهر الجميل. يجب على كل مطوّر بلغة بايثون أن يطّلع على هذا الدليل، وندرج فيما يلي بعض النقاط المهمّة المستخلصة من هذا الدليل:

  • استخدم 4 مسافات بيضاء ‎4-‎spaces للإزاحة (indentation) ولا تستخدم علامات الجدولة tabs. المسافات البيضاء الأربعة هي حالة وسطية بين الإزاحة الصغيرة (التي تسمح بالتداخل لمستويات أعمق) والإزاحة الكبيرة (التي تسهّل قراءة الشيفرة). تسبّب علامات الجدولة إرباكًا للقارئ وينصح بعدم استخدامها على الإطلاق. 
  • احرص على أن لا يتجاوز عدد الحروف في السطر الواحد 79 حرفًا، إذ يسهّل هذا الأمر عرض الشيفرة في الشاشات الصغيرة، ويتيح لأصحاب الشاشات الكبيرة استعراض عدّة ملفات جنبًا إلى جنب.
  • استخدم سطرًا فارغًا لفصل الدوال والأصناف عن كتلة الشيفرة الداخلية.
  • ضع التعليقات في سطر منفرد إن كان ذلك ممكنًا.
  • استخدم سلاسل التوثيق النصية.
  • استخدم مسافة بيضاء قبل وبعد العامل، ولا تفصل الأقواس عمّا يأتي قبلها أو بعدها، مثلًا:
 a = f(1, 2) + g(3, 4)
  • اعتمد طريقة واحدة لتسمية الأصناف والدوال، والمتّفق عليه هو استخدام صيغة CamelCase لتسمية الأصناف وصيغة الحروف الصغيرة مع الشرطات السفلية lower_case_with_underscores لتسمية الدوال والتوابع. استخدم الكلمة المفتاحية self دائمًا كاسم للمعامل الأول في التوابع (راجع الأصناف للمزيد من المعلومات حول الأصناف والتوابع).
  • لا تستخدم ترميزات غريبة إن كان شيفرتك ستستخدم في بيئة عالمية، ويفضّل استخدام الترميز الافتراضي في بايثون وهو UTF-8 أو الترميز ASCII. كذلك لا تستخدم أحرفًا لا تنتمي إلى الترميز ASCII في المعرّفات في حال وجود احتمال أن يتعامل مع الشيفرة أشخاص يتحدّثون بلغات مختلفة.

مصادر