TGViewer
‌BenDev ‌BenDev @bendevelop · 2.95K subscribers
Post #264 3.08K

Forwarded from Python BackendHub (Mani)

برند تایپ یا همون New Type یعنی یه تایپ جدید بسازی رو همون تایپ قدیمی، بدون این که تو ران‌تایم هیچ خرجی داشته باشه. یه جورایی مثل اینه که سابکلس بسازی ولی واقعاً سابکلس نکردی.

فایده‌ش چیه؟ به تایپ‌چکر می‌فهمونی مثلا UserId با یه string فرق داره. تو ران‌تایم هردوش استرینگن ولی تو تایپ دیگه یکی نیستن.

تو مثال ما، یه UserId درست می‌کنیم، بعد یه برند جنریک به اسم Locked<T>. اگه تو getUser(true) صدا بزنیم خروجیش میشه Locked<UserId>. حالا توابعی که می‌خوان یوزر لاک شده باشه فقط همینو قبول می‌کنن. یعنی دولوپر مجبوره قبل استفاده یوزر رو لاک کنه، وگرنه تایپ‌چکر گیر میده و کدت دیپلوی نمیشه.

اگه اینو نداشتیم، باید تو هر تابع دوباره یوزر رو لاک می‌کردیم که هم تکراری میشه هم ران‌تایم گرون‌تر.

مزایا:
- جلوی خطا رو می‌گیره
- خودش یه جور داکیومنت زنده‌ست
- یه بار لاک می‌کنی، ران‌تایم سریع‌تره
- نگه داری کدتون رو راحت تر میکنه (maintainability)

ضررش؟ فقط دو سه خط تایپ بیشتر می‌نویسی، همین. که البته مقایسه کنی با کدی که باید بیشتر مینوشتی چون این تایپا رو نداشتی هیچ بود.

@PyBackendHub
  • 👍 10
  • ❤ 2
  • 👌 1
More from @bendevelop
  1. Oct 13, 2026🎥 فیلم واقعی همین لحظه: https://www.bundesregierung.de/breg-de/mediathek/schabowski-mauer…
  2. Oct 13, 2026دیوار برلین ۲۸ سال پابرجا بود، اما آخرش با یک جملهٔ اشتباه در یک کنفرانس خبری فرو ریخت. دی…
  3. Oct 8, 2026موقعی که می‌گم من ایرانی هستم با توجه به ملیت طرف مقابل ریاکشن های خیلی متفاوتی می‌گیرم ال…
  4. Oct 5, 2026یادگیری با Ai @BenDevelop
  5. Sep 17, 2026خیلی منطقی تر نیست که این مدل های نابغه که توی تمام ضمینه ها از انسان بهتره و الان می‌گن د…
  6. Sep 7, 2026ببین ai کار شما رو نمی‌گیره اونیکی از ai استفاده می‌کنه کارت رو می‌گیره اگر می‌خوای عقب نی…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →