لماذا لم يتم تسمية فئة subprocess.Popen بالعملية الفرعية؟[مغلق]
-
09-06-2019 - |
سؤال
الصف الابتدائي في subprocess
الوحدة هي الاسم Popen
, ، ويمثل عملية فرعية. Popen
يبدو أن شخصًا ما كان يحاول إجبار الاسم على اتباع بعض تنسيقات تسمية الوظائف، بدلاً من اختيار اسم يمثل فعليًا ماهية الكائن.هل يعرف أحد سبب اختياره بدلاً من شيء بسيط مثل، على سبيل المثال، Subprocess
?
المحلول
الآن، أنا لا أقول أن هذا هو أعظم اسم في العالم، ولكن هنا كانت الفكرة كما أفهمها.
في الأصل، كانت عائلة بوبين موجودة في وحدة نظام التشغيل وكانت تطبيقًا لـ posix popen الموقر.كان من الممكن أن يكون الانتقال إلى وحدة العمليات الفرعية وقتًا مناسبًا لإعادة تسميتها، ولكن أعتقد أن الاحتفاظ بـ Popen يجعل من السهل العثور عليها في المستندات لأولئك الذين لديهم تاريخ طويل مع بايثون أو حتى وظائف posix الموقرة.
منذ أول تجسيد لها، Popen
كان المقصود دائمًا فتح العملية والسماح لك بالقراءة والكتابة من الاستوديو الخاص بها مثل الملف.وبالتالي فإن ذاكري ل Popen
هو أنه قصير ل ProcessOpen
في محاولة لتبدو وكأنها مفتوحة نوعًا ما.
نصائح أخرى
subprocess.Popen
يستبدل مجموعة os.popenX
وظائف POSIX (التي لها تاريخ طويل).أظن أن الاسم Popen
يزيد من احتمالية قيام الأشخاص المعتادين على الوظائف القديمة بالعثور على الوظائف الجديدة واستخدامها.
ال PEP للعملية الفرعية (PEP 324) لديه القليل من المناقشة حول اسم الوحدة ولكن ليس الفصل Popen
.ال قائمة الأشخاص السياسيين السياسيين (مقترحات تحسين بايثون) بشكل عام مكان ممتاز للبدء إذا كنت تبحث عن الأساس المنطقي لميزات بايثون.
أفترض أنه تم اختيار الاسم بسبب الوظيفة subprocess
يتم استبداله سابقًا في os
الوحدة النمطية مثل os.popen
وظيفة.ومن الممكن أن تكون هناك طرق لأتمتة عملية الترحيل بين الاثنين.