از جمله مزایایی که برای زبان برنامهنویسی پایتون گفته میشه این هست که کدهای این زبان خوانایی بسیار بالایی دارند، امّا حتی این ویژگی هم میتونه قربانی سلیقهی شخصی برنامهنویس شده و خوانایی رو حداقل برای اشخاص ثالث خواه همتیمی و خواه دیگران بسیار سختتر از کدهای زبانهایی دیگه بکنه. برای رفع این مشکل استانداردی تهیه شده تا حداقل افراد با رعایت قوانین اون بهتر کدهای هم رو درک کنند، طبیعتاً این کار خیلی مفیده، البته اگه به بهتر شدن کد و مسائلی از جمله open source و … اهمیت بدین.
این استاندارد اصطلاحاًPEP نامیده میشه که سرواژهی کلمات عبارت Python Enhancement Proposal هست و قوانینش در صفحهی اون در سایت python.org به آدرس:https://www.python.org/dev/peps/pep-0008 موجود هست امّا از اونجایی که درک این قوانین برای مبتدیهایی مثل من که حتی درکشون از زبان انگلیسی هم در حد بخور و نمیر هست یه خورده سخته و از اونجای دیگهای که من فعلاً مجبورم اونها رو بخونم و یاد بگیرم تا بیشتر از این کدهای خودم رو به لجن نکشم تصمیم گرفتم تا جایی که درک میکنم و از امتحان و خطا نتیجه میگیرم رو بنویسم تا حداقل یه خروجی مفید اضافه هم ازش بگیرم، پس این متن لزوماً مستند و موثق نیست و طبیعاً اشتباهاتی داره حتی بعضی از موارد حذف شدن یا هنوز نوشته نشدن که به امید خدا به مرور زمان و با کمک توصیهکنندهگان عزیز حل میشن.
اوّلین چیزی باید در ارتباط با این قوانین باید در نظر داشته باشیم این هست که شما مجاز به زیر پا گذاشتن این قوانین هستن و چیزی که شما رو مجبور به رعایت اونها میکنه تصمیم خودتون هست. یعنی شما میتونید اصلاً هیچ وقعی بهشون ننهید و مسیر خودتون رو برید یا دست و پا شکسته تا جایی که میتونید رعایتشون کنید و یا حتی جونتون رو پای رعایت اونها بزارید امّا مطمئن باشید کسی از شما به عنوان شهید یاد نمیکنه!! تعجب نکنید، چون بعضی جاها مجبورید که این استاندارد رو بشکنید اگر مجبور هم نباشید بدونید که اگر این کار (شکستن استاندارد – عدم رعایتش) رو میکردین بهتر بود. اگر براتون سؤال شده که این مواقع کیها هستن چند موردش رو میشه اینطوری توضیح داد:
* زمانی هست که پیروی از قوانین نه تنها باعث افزایش خوانایی برنامه نمیشه بلکه بدتر اون رو کاهش میده، حتی برای افرادی که از این قوانین پیروی میکنن.
* یه موقع لازم هست کدی که مینویسید با نسخههای قدیمی پایتون هماهنگ باشه و اون ورژن از پایتون این خصوصیتی که شما میخواین ازش استفاده کنید رو پشتیبانی نمیکنه!