برنامه نویسی

با این ترفند ساده پیچیدگی کد پایتون خود را کاهش دهید

تصاویر رایگان pexels

[https://www.ranthebuilder.cloud/](https://www.ranthebuilder.cloud/)

به عنوان مهندس، همیشه باید تلاش کنیم تا کدهای ساده بنویسیم.

یکی از مشکلات رایجی که برای بسیاری از زبان های برنامه نویسی و نه تنها پایتون وجود دارد، این است ناگوار استفاده نادرست if-elif.

اگر می‌خواهید با این مشکل مقابله کنید و خوانایی و قابلیت نگهداری کد خود را بهبود ببخشید، این مقاله برای شما مناسب است!

پرونده استفاده از کنترل کننده درخواست

یک سیستم مدیریت مشتری درخواست ها را دریافت می کند.

1675001837 337 با این ترفند ساده پیچیدگی کد پایتون خود را کاهش

هر درخواست شامل یک اقدام و یک نام مشتری است. اقدامات شامل ایجاد مشتری جدید، فعال کردن مشتری، تعلیق مشتری و حذف مشتری است. چهار نوع وجود دارد و هر نوع متفاوت است.

هر درخواست یک فرهنگ لغت پایتون است:

در اینجا یک نمودار جریان پتانسیل وجود دارد که به این مورد استفاده می‌پردازد:

1675001837 715 با این ترفند ساده پیچیدگی کد پایتون خود را کاهش

و کد پایتون معادل:

آیا می توانید موضوع را تشخیص دهید؟ اگر و الف های زیادی وجود دارد

که کد را بیشتر می کند مجتمع، کمتر قابل خواندن (خیلی طولانی!)، و سخت تر برای نگهداری.

به‌علاوه، برای مدیریت کنش‌ها، گاهی اوقات کد باید از چندین «اگر» عبور کند که مطابقت ندارند، که با بزرگ‌تر شدن تعداد کنش‌ها ایده‌آل نیست (پیچیدگی بر) که در آن n تعداد اقدامات است).

خوشبختانه، یک راه حل ساده وجود دارد!

به If-elif نه بگو!

همانطور که در کد زیر می بینید، بخش if-elif به نفع دیکشنری حذف می شود که هر عمل را به تابع کنترل کننده مربوطه ترسیم می کند – خط 3، ACTION_MAPPING.

اکنون، هر کنش‌گری بلافاصله در خط 18 از فرهنگ لغت انتخاب می‌شود (به ترتیب O (1)) و کنترل کننده در خط 20 فراخوانی می شود. به عنوان مثال، برای یک ‘فعال کردنعمل، _ handle_activate_request انتخاب خواهد شد.

نکته جانبی: از آنجایی که ورودی در خط 13 تأیید می شود، عمل همیشه در آن یافت می شود ACTION_MAPPING فرهنگ لغت.

بهترین تمرین چیست؟

اگر الیف بد نیست. آنها بخش اساسی زبان هستند.

با این حال، مانند هر چیز دیگری در زندگی، نباید در آن زیاده روی کرد.

قانون سرانگشتی من این است که یک if-elif کافی است. اگر به موارد بیشتری نیاز دارید، از مکانیسم نگاشت فرهنگ لغت استفاده کنید.

و در آخر، از یک ابزار اسکنر پیچیدگی کد مانند Radon/Xenon استفاده کنید. آنها می توانند مناطق مشکل ساز را مشخص کنند و به شما کمک کنند تا کد خود را به یک شاهکار تبدیل کنید.

آیا می خواهید در مورد سرور بدون سرور بیشتر بدانید؟

وب سایت من https://www.ranthebuilder.cloud را بررسی کنید

[https://www.ranthebuilder.cloud/](https://www.ranthebuilder.cloud/)

درمورد من

سلام، من ران ایزنبرگ هستم، یک جامعه ساز AWS (تمرکز بدون سرور)، یک معمار سیستم ابری، و یک سخنران عمومی مستقر در اسرائیل.

من خودم را به عنوان یک مدافع پرشور بدون سرور با عشق به نوآوری، AWS و برنامه های کاربردی خانه هوشمند می بینم.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا