CleverDevs
به کانال کلوردوز خوش اومدین سعی میکنیم چیزایی که بنظر کاربردی هستن رو باهاتون به اشتراک بزاریم 🔥لینوکس 🔥برنامه نویسی فرانتاند 🔥برنامه نویسی بکاند 🔥اخبار تکنولوژی و... 💢~> @mmdrsdev
Show more📈 Analytical overview of Telegram channel CleverDevs
Channel CleverDevs (@cleverdevs) in the Farsi language segment is an active participant. Currently, the community unites 11 150 subscribers, ranking 11 004 in the Technologies & Applications category and 29 482 in the Iran region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 11 150 subscribers.
According to the latest data from 21 October, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by 819 over the last 30 days and by 11 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 30.55%. Within the first 24 hours after publication, content typically collects 13.73% reactions from the total number of subscribers.
- Post reach: On average, each post receives 3 403 views. Within the first day, a publication typically gains 1 529 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 22.
- Thematic interests: Content is focused on key topics such as کاراکتر, لینوکس, باگ, ویندوز, جا.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“به کانال کلوردوز خوش اومدین
سعی میکنیم چیزایی که بنظر کاربردی هستن رو باهاتون به اشتراک بزاریم
🔥لینوکس
🔥برنامه نویسی فرانتاند
🔥برنامه نویسی بکاند
🔥اخبار تکنولوژی و...
💢~> @mmdrsdev”
Thanks to the high frequency of updates (latest data received on 22 October, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
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