CleverDevs
به کانال کلوردوز خوش اومدین سعی میکنیم چیزایی که بنظر کاربردی هستن رو باهاتون به اشتراک بزاریم 🔥لینوکس 🔥برنامه نویسی فرانتاند 🔥برنامه نویسی بکاند 🔥اخبار تکنولوژی و... 💢~> @mmdrsdev
Ko'proq ko'rsatish📈 Telegram kanali CleverDevs analitikasi
CleverDevs (@cleverdevs) Forsiy til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 11 153 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 10 993-o'rinni va Eron mintaqasida 29 447-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 11 153 obunachiga ega bo‘ldi.
22 Oktabr, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni 810 ga, so‘nggi 24 soatda esa 10 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 29.45% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 15.55% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 3 284 marta ko‘riladi; birinchi sutkada odatda 1 734 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 21 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent کاراکتر, لینوکس, باگ, ویندوز, جا kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“به کانال کلوردوز خوش اومدین
سعی میکنیم چیزایی که بنظر کاربردی هستن رو باهاتون به اشتراک بزاریم
🔥لینوکس
🔥برنامه نویسی فرانتاند
🔥برنامه نویسی بکاند
🔥اخبار تکنولوژی و...
💢~> @mmdrsdev”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 23 Oktabr, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
yay -S firefox-beta-bin
برا بقیه هم این لینک رو ببینید
https://www.mozilla.org/en-US/firefox/channel/desktop/
#firefox #news
@CleverDevs - @CleverDevsGppublic Money calculatePay(Employee e)
throws InvalidEmployeeType {
switch (e.type) {
case COMMISSIONED:
return calculateCommissionedPay(e);
case HOURLY:
return calculateHourlyPay(e);
case SALARIED:
return calculateSalariedPay(e);
default:
throw new InvalidEmployeeType(e.type);
}
}
این کد یه سری مشکلات داره :
اول اینکه بزرگه
دوم اینکه بیشتر از یه کار انجام میده
سوم اینکه اصل اول SOLID رو نقض میکنه چون بیشتر از یه دلیل برای تغییر دادنش دارید
چهارم اینکه اصل دوم SOLID رو هم نقض میکنه چون هربار که type جدید اضافه میشه باید تغییر کنه
اما مشکل اصلی اینه که این ساختار ممکنه تو هزارتا فانکشن دیگه هم نیاز بشه
اما چطور حلش کنیم ؟ (کد توی کامنت رو ببینید ) باید ساختار Switch رو توی یک ABSTRACT FACTORY بزاریم تا بیاد از روی switch برامون گزینه های مناسب مشتقات Employee رو بسازه و توابع مختلف مث calculatePay , isPayDay و deliverPay به صورت پلی مورفیسی از طریق اینترفیس Employee وصل بشن بهش
یعنی ما برای راحت شدن از دست سویچا کاری میکنیم که یه بار بنویسیمشون و چند جا استفاده کنیم
پی نوشت : این اصل کمی طولانی بود و سخت بود توی یه پست توضیحش داد از طرفی توی مثال هاش از شی گرایی اونم توی جاوا استفاده کرده و کارمون تا حدودی سخت تر شد برا همین ممکنه یکم گنگ و سخت شده باشه همین که سعی کنید از سوییچ کمتر استفاده کنید و بتونید کدی بنویسید که از یه سوییچ چند بار استفاده کنید کافیه
#CleanCode
@CleverDevs - @CleverDevsGp