زين بايثون

تُعدّ "مبادئ بايثون " مجموعة من 19 "مبدأً توجيهيًا" لكتابة برامج الحاسوب ، وهي تؤثر في تصميم لغة برمجة بايثون . [ 1 ] ويُشار غالبًا إلى كود بايثون الذي يتوافق مع هذه المبادئ باسم "بايثوني". [ 2 ]
كتب مهندس البرمجيات تيم بيترز هذه المجموعة من المبادئ ونشرها على قائمة بريد بايثون عام ١٩٩٩. [ ٣ ] تركت قائمة بيترز مبدأً جديدًا مفتوحًا "ليملأه غيدو"، في إشارة إلى غيدو فان روسوم ، المؤلف الأصلي للغة بايثون. ولم يُملأ هذا الفراغ حتى الآن.
أُدرجت "Zen of Python" لبيترز كمدخل رقم 20 في مقترحات تحسين لغة بايثون الرسمية ، ونُشرت في الملكية العامة . [ 4 ] كما أنها مُضمنة كإضافة خفية في مُفسِّر بايثون ، حيث يُمكن عرضها بإدخال الأمر . [ 1 ] [ 4 ] [ أ ]importthis
في مايو 2020، استخدم باري وارسو (مطور برنامج GNU Mailman ) هذه الكلمات ككلمات لأغنية. [ 5 ] [ 6 ]
مبادئ
المبادئ مدرجة على النحو التالي: [ ب ]
- الجمال أفضل من القبح.
- الصراحة أفضل من التلميح.
- البساطة أفضل من التعقيد.
- التعقيد أفضل من التعقيد.
- التصميم المسطح أفضل من التصميم المتداخل .
- التباعد أفضل من الكثافة.
- سهولة القراءة مهمة.
- الحالات الخاصة ليست خاصة بما يكفي لخرق القواعد.
- مع أن المنفعة العملية تتفوق على المثالية.
- لا ينبغي أبداً تجاهل الأخطاء.
- إلا إذا تم إسكاتها صراحةً.
- في مواجهة الغموض ، ارفض إغراء التخمين.
- ينبغي أن تكون هناك طريقة واحدة واضحة للقيام بذلك، ويفضل أن تكون طريقة واحدة فقط. [ ج ]
- على الرغم من أن هذا الطريق قد لا يكون واضحاً في البداية إلا إذا كنت هولندياً.
- الآن أفضل من ألا يأتي أبداً.
- مع أن "أبداً" غالباً ما يكون أفضل من "الآن ". [ د ]
- إذا كان شرح طريقة التنفيذ صعباً ، فهي فكرة سيئة.
- إذا كان شرح طريقة التنفيذ سهلاً، فقد تكون فكرة جيدة.
- مساحات الأسماء فكرة رائعة للغاية - فلنقم بتطبيق المزيد منها!
كن بايثونياً
يمكن الإشارة إلى أحد المبادئ، وهو "ينبغي أن تكون هناك طريقة واحدة - ويفضل أن تكون واحدة فقط - واضحة للقيام بذلك"، باسم الطريقة "البيثونية". [ 8 ] التعريف الرسمي لـ "البيثونية" هو: [ 2 ] [ هـ ]
فكرة أو جزء من الكود يتبع بدقة أكثر أساليب البرمجة شيوعًا في لغة بايثون، بدلًا من استخدام مفاهيم شائعة في لغات أخرى. على سبيل المثال، من الأساليب الشائعة في بايثون تكرار جميع عناصر كائن قابل للتكرار باستخدام
forعبارة `reterable`. لا تحتوي العديد من اللغات الأخرى على هذا النوع من البنية، لذا قد يلجأ من لا يعرفون بايثون إلى استخدام عداد رقمي بدلًا من ذلك.for i in range ( len ( food )): print ( food [ i ])على عكس الطريقة الأنظف والأكثر توافقاً مع لغة بايثون:
for piece in food : print ( piece )
يُطلق على الكود الذي يصعب فهمه أو يبدو وكأنه نسخة غير دقيقة من لغة برمجة أخرى اسم الكود غير البايثوني . [ 9 ]
عملياً
منذ إصدار كتاب "زين بايثون"، أُجريت أبحاثٌ حول فعاليته واستخدامه الفعلي بين المطورين. ورغم اختلاف التفسير بين المبتدئين ومبرمجي بايثون ذوي الخبرة، أظهرت مقابلاتٌ مع 13 مبرمج بايثون من مختلف المستويات أن "زين بايثون" يؤثر إيجابًا على طريقة كتابة المطورين للبرمجيات وتحدثهم عنها. [ 8 ] وقد وسّع الباحثون نطاق هذه الدراسة لاستكشاف استخدام مصطلحات بايثون في مستودعات GitHub ، ووجدوا أن استخدام "مصطلحات بايثونية" [ f ] قد ازداد بمرور الوقت. [ 10 ] إن كتابة كود بايثون متوافق مع "زين بايثون" قد يُساهم في توفير الذاكرة وتقليل وقت تشغيل برامج بايثون. [ 11 ] وقد أدّت الرغبة في كتابة كود بايثوني إلى ظهور أدوات إعادة هيكلة الكود لمساعدة المبرمجين على تحقيق هذا الهدف. [ 12 ] [ 13 ]
انظر أيضاً
ملحوظات
- ↑ يمكن العثور على الكود المصدري لـ Zen of Python على Github .
- ↑ تمت إضافة روابط ويكيبيديا أدناه لمزيد من المعلومات والفهم، ولم يتم ربطها بشكل صريح في كتاب "زين بايثون".
- ↑ إن تنسيق الشرطات في هذا السطر والسطر الأخير غير متناسق عمداً، وذلك في إشارة إلى اختلاف قواعد التنسيق. [ 7 ]
- ↑ في بيضة عيد الفصح الخاصة بالمترجم، كُتبت هذه العبارة على النحو التالي: "على الرغم من أن أبدًا غالبًا ما يكون أفضل من *الآن*". وهذا يتبع عرفًا راسخًا في التواصل النصي العادي - حيث تكون ميزات التنسيق الشائعة غالبًا مستحيلة - حيث يتم تمثيل التأكيد بعلامات النجمة.
- ↑ تم اقتباس التعريف أدناه حرفيًا للحفاظ على معناه. لذا، فهو ليس برنامج بايثون صالحًا قائمًا بذاته بحيث يمكن تشغيله دون أخطاء.
- ↑ يمكن العثور على قائمة بمصطلحاتهم في لغة بايثون هنا: https://slimshadyiam.github.io/ZenYourPython/
مراجع
- 1 2 ريتز، كينيث (2011-2019). "أسلوب البرمجة" . دليل المسافر إلى بايثون . § زن بايثون . تم الاسترجاع في 26 مارس 2019 .
- 1 2 "مسرد المصطلحات" . وثائق بايثون . تم الاطلاع عليه بتاريخ 2024-02-07 .
- ↑ بيترز، تيم (4 يونيو 1999). "طريقة بايثون" . مؤسسة برمجيات بايثون . تم الاطلاع عليه في 26 مارس 2019 .
- 1 2 بيترز، تيم (19 أغسطس 2004). "PEP 20 - جوهر بايثون" . مؤسسة برمجيات بايثون . تم الاسترجاع في 26 مارس 2019 .
- ↑ وارسو، باري (10 مايو 2020). "فن بايثون" . نحن نخشى التغيير . مؤرشف من الأصل في 3 يونيو 2020.
- ↑ وارسو، باري (23 مايو 2020). فن بايثون . يوتيوب . ذا زد بويديكون. مؤرشف من الأصل في 11 ديسمبر 2021.أُرشف بتاريخ 3 يونيو 2020 في أرشيف الإنترنت (Wayback Machine).
- ↑ "المشكلة رقم 3364: خطأ إملائي في نص Zen of Python - متتبع أخطاء Python" . bugs.python.org .
- 1 2 ألكسندرو، كارول ف.؛ ميرشانتي، خوسيه ج.؛ بانيتشيلا، سيباستيانو؛ بروكسش، سيباستيان؛ غال، هارالد س.؛ روبلز، غريغوريو (24-10-2018). "حول استخدام المصطلحات البايثونية" (ملف PDF) . وقائع ندوة ACM SIGPLAN الدولية لعام 2018 حول الأفكار الجديدة والنماذج الجديدة والتأملات في البرمجة والبرمجيات (ملف PDF) . Onward! 2018. نيويورك، نيويورك، الولايات المتحدة الأمريكية: رابطة آلات الحوسبة. الصفحات 1-11 . doi : 10.1145/3276954.3276960 . ISBN 978-1-4503-6031-9OCLC 1362712424. S2CID 53057358. مؤرشف من الأصل بتاريخ 24-03-2024 . تم الاطلاع عليه بتاريخ 19-02-2024 .
{{cite book}}: CS1 maint: bot: حالة عنوان URL الأصلي غير معروفة ( رابط ) - ↑ "أسلوب البرمجة - دليل المسافر إلى بايثون" . docs.python-guide.org . مؤرشف من الأصل بتاريخ 27 يناير 2021. تم الاطلاع عليه بتاريخ 20 يناير 2021 .
- ↑ فاروق، عامر؛ زايتسيف، فاديم (22-11-2021). "هناك أكثر من طريقة لضبط لغة بايثون" . وقائع المؤتمر الدولي الرابع عشر لهندسة لغات البرمجيات ACM SIGPLAN . SLE 2021. نيويورك، نيويورك، الولايات المتحدة الأمريكية: رابطة آلات الحوسبة. الصفحات 68-82 . doi : 10.1145/3486608.3486909 . ISBN 978-1-4503-9111-5.
- ↑ ليلابروت، باتارا؛ تشينثانيت، بودين؛ واتاناكريينغكراي، سوباتسارا؛ كولا، راولا جايكوفينا؛ جايسري، بونغتشاي؛ إيشيو، تاكاشي (2022-10-20). "هل تُحقق البرمجة بأسلوب بايثون الأمثل أداءً فائقًا؟: تجارب أولية لتسعة أساليب بايثونية على نطاق واسع" . وقائع المؤتمر الدولي الثلاثين لـ IEEE/ACM حول فهم البرامج . ICPC '22. نيويورك، نيويورك، الولايات المتحدة الأمريكية: رابطة آلات الحوسبة. الصفحات 575-579 . doi : 10.1145/3524610.3527879 . ISBN 978-1-4503-9298-3.
- ^ تشانغ، زيجون؛ شينغ، تشنتشانغ؛ شيا، شين؛ شو، شيوي؛ تشو، ليمينغ (12/07/2022)، جعل كود بايثون اصطلاحيًا من خلال إعادة هيكلة كود بايثون غير الاصطلاحي باستخدام التعابير الاصطلاحية بايثون ، أرخايف : 2207.05613
- ^ فان أودوم، بوريت. واتاناكول، نارويدون؛ ساكولنيوات، تاتيا؛ راجخيتويتساجول، تشايونغ؛ سونيتنانتا، ثانوادي؛ شويتكيرتيكول، موراكوت؛ كولا، راولا جايكوفينا (2020-09-05)، تيدي: التوصية التلقائية لاستخدام لغة بايثونيك لمشاريع البرمجيات القائمة على السحب ، أرخايف : 2009.03302
روابط خارجية
- مقالات عام 2004
- مقالات عن الحوسبة
- مبادئ البرمجة
- بايثون (لغة برمجة)
