کاه از خودت نیست،کاهدون که از خودته!


ســـــــــلـــــامـــــــ

راستش چند وقت پیش داشتم به این فکر می کردم که واقعا لازمه همیشه و برای هر چیزی متغیر و class و تابع بسازیم و مموری رو اشغال کنیم؟

دیدم موضوع جالبیه

مثلا به این فکر کنید که یه جایی از یه کد لازمه response تو قالب json از یه API بگیرید

ما فرض می کنیم شما می خواین از این API تعداد مبتلاهای تایید شده از دیروز تا امروز(بی منطقی تمام رو تو این API شاهد هستیم :|) بگیرید

و همچنین فرض می کنیم از پایتون استفاده می کنید.

عموما همچین کدی می نویسید نه؟

1import requests
1url=&quothttps://api.covid19api.com/total/country/iran/status/confirmed?from=2021-11-10T00:00:00Z&to=2021-11-11T00:00:00Z&quot
1response=requests.get(url)
1json_response=response.json()
1print(json_response[0][&quotCases&quot])

همه این متغیر ها یه بخشی از حافظه رو اشغال می کنن و در نهایت تعریف هر کدوم یه مقدار خیلی کمی از سرعت اجرا کم می کنه.

پس چرا اینطوری ننویسیمش؟

1import requests
1url=&quothttps://api.covid19api.com/total/country/iran/status/confirmed?from=2021-11-10T00:00:00Z&to=2021-11-11T00:00:00Z&quot
1print(requests.get(url)[0][&quotCases&quot])

یا یه مثال دیگه:

فرض کنید دارید یه بات برای دیسکورد می نویسید که خودش شی گرا نیست ولی شما یه کلاس برای توکن و متغیر های کانفیگ ایجاد کردید!

مثلا:

1class Config:
1	Token = &quotYour Token&quot
1	#other configs...

خب این معلومه که کار اشتباهیه

اولین نکته ای (که ربط زیادی هم نداره ولی میگم :|) اینه که اصولا توکن و چیز های دیگه ای که باید مخفی بمونن تو خود کد ذخیره نمی کنن

تو یه فایل مخفی به اسم .env یا با کامند export ذخیرش می کنن و مثلا توی پایتون با این کد میگیرنش:

1import os
1os.getenv(&quotTOKEN&quot)

دومین نکته اینه که اگه خود کدتون شی گرا نیست، پس لزومی هم نداره که کلاس اضافی برای کانفیگ ایجاد کنید

کافیه یه متغیر ایجاد کنید.به همین سادگی :)



من قبول دارم که بعضی متغیر ها و کلاس ها و ... برای خوانایی و راحتی کار لازمن

ولی وقتی از حد بگذره فقط سرعت اجرا و پرفورمنس کد میاد پایین.

فقط هم تو پایتون نیست

تو تمام فریمورکا و زبان ها هست

در آخر هم عذر می خوام اگه ناشیانه منظورم رو بیان کردم :,)

حالا که تا اینجا اومدید...

حتما یوتیوب رو ساب کنید و اینستاگرام هم دنبال کنید که آموزشای باحالی تو راهن?

کد های آموزش هارو هم می تونید توی گیت هاب تمشک پیدا کنید

راستی اگه دیسکورد دارین حتما تو سرور دیسکورد هم جوین بشید که برنامه ها داریم!

اگه این پست رو دوست داشتین لایک، کامنت و دنبال کردن انتشارات یادتون نره?

© منابع : تمشک