PYHINTS Telegram 338
Python Hints
Monkey Patching برای این مورد ترجیح میدم از مثال خود کتاب استفاده کنم؛ قطعا ۹۰٪ شما می‌دونید مانکی پچ چیکار می‌کنه و ساده‌ هم هست برای همین نمی‌خوام عملکردش رو توضیح بدم اما جایگاه استفاده‌اش رو میخوام صحبت کنم (بسیار دیدم که اشتباه استفاده می‌شه) لازم نیست…
حالا بازی ما قراره بره پروداکشن و ویژگی shuffle رو نداره ۳ تا راهکار :
۱- ایمیل بزنیم؛ که به این دلایل __setitem__ باید اضافه بشه یا اینکه merge request بزنیم و ... که میره برای ورژن‌های بعدی

۲- خودمون سورس کد رو تغییر بدیم؛ ی داکیومنت بنویسیم برای تیم DevOps و بگیم بعد از نصب پیکج باید این چیزا رو توی سورس کد کتابخونه تغییر بدی و ... که خیلی کار کثیفی هست و کل پروسه اتوماسیون رو میبره زیر سوال چون ممکنه جای دیگه از همین تیم و شرکت با فرض اینکه __setitem__ وجود نداره یک بازی دیگه درحال توسعه باشه

۳- از تکنیک monkey patch استفاده کنیم.
توی این تصویر خط ۵ تا ۱۰ اینکارو می‌کنه ی تابع تعریف می‌کنم توی کد بازی حکم خودم و بهش می‌گم روی
__setitem__
که برای کلاس
CardDeck
پیاده‌سازی نشده بود رو تعریف کن و متدش رو برابر با تابع set_card درنظر بگیر.
نه نیازی به Merge Request دارم؛ نه DevOps و تیم های دیگه رو کارشون رو خراب کردم
Inheritance , .... 

رو هم خودم رو درگیرش نکردم و چون موقتی و سریع هم هست اگر توی ورژن‌های بعدی
__setitem__
اضافه بشه حذف این ۵ خط کد هیچ تاثیری روی کدهای پروژه و بازی نخواد داشت.
🔥19👍8❤‍🔥3



tgoop.com/pyHints/338
Create:
Last Update:

حالا بازی ما قراره بره پروداکشن و ویژگی shuffle رو نداره ۳ تا راهکار :
۱- ایمیل بزنیم؛ که به این دلایل __setitem__ باید اضافه بشه یا اینکه merge request بزنیم و ... که میره برای ورژن‌های بعدی

۲- خودمون سورس کد رو تغییر بدیم؛ ی داکیومنت بنویسیم برای تیم DevOps و بگیم بعد از نصب پیکج باید این چیزا رو توی سورس کد کتابخونه تغییر بدی و ... که خیلی کار کثیفی هست و کل پروسه اتوماسیون رو میبره زیر سوال چون ممکنه جای دیگه از همین تیم و شرکت با فرض اینکه __setitem__ وجود نداره یک بازی دیگه درحال توسعه باشه

۳- از تکنیک monkey patch استفاده کنیم.
توی این تصویر خط ۵ تا ۱۰ اینکارو می‌کنه ی تابع تعریف می‌کنم توی کد بازی حکم خودم و بهش می‌گم روی
__setitem__
که برای کلاس
CardDeck
پیاده‌سازی نشده بود رو تعریف کن و متدش رو برابر با تابع set_card درنظر بگیر.
نه نیازی به Merge Request دارم؛ نه DevOps و تیم های دیگه رو کارشون رو خراب کردم

Inheritance , .... 

رو هم خودم رو درگیرش نکردم و چون موقتی و سریع هم هست اگر توی ورژن‌های بعدی
__setitem__
اضافه بشه حذف این ۵ خط کد هیچ تاثیری روی کدهای پروژه و بازی نخواد داشت.

BY Python Hints





Share with your friend now:
tgoop.com/pyHints/338

View MORE
Open in Telegram


Telegram News

Date: |

How to build a private or public channel on Telegram? Public channels are public to the internet, regardless of whether or not they are subscribed. A public channel is displayed in search results and has a short address (link). Avoid compound hashtags that consist of several words. If you have a hashtag like #marketingnewsinusa, split it into smaller hashtags: “#marketing, #news, #usa. How to create a business channel on Telegram? (Tutorial) Telegram is a leading cloud-based instant messages platform. It became popular in recent years for its privacy, speed, voice and video quality, and other unmatched features over its main competitor Whatsapp.
from us


Telegram Python Hints
FROM American