بنظرت کدوم کد بهتره؟
توضیحی داشتی توی کامنت بگو🙏🙏
@purecoder_ir
1⃣
static double Divide(double a, double b)
{
return a / b; // Perform the division
}
2⃣
static double Divide(double a, double b)
{
if (b == 0)
{
return double.NaN; // Return NaN to indicate an error (division by zero)
}
return a / b; // Perform the division
}
3⃣
static double Divide(double a, double b)
{
if (b == 0)
{
throw new DivideByZeroException();
}
return a / b; // Perform the division
}
4⃣
static double Divide(double a, NonZero b)
{
return a / b.Value; // Perform the division using the Value property of NonZero
}
توضیحی داشتی توی کامنت بگو🙏🙏
@purecoder_ir
Pure Coder
توی اپ مون قراره برای کاربران پیامک ارسال کنیم برای این منظور قراره از ارائه دهنده های سرویس پیامک مختلف استفاده کنیم. مثلن sms ir و ملی پیامک و ... در نتیجه ی کش و قوس های فراوان تصمیم میگیریم که یه اینترفیس بذاریم و بعدش کلاس های مختلف داشته باشیم که…
🔥خب بریم سر وقت داستان فرستادن پیامک و اینترفیس زدن و implementation های مختلف برای هر provider:
❌هر گردی گردو نیست.
استراتژی اشتباه ترین گزینه بود.
❌فساد و اداپتر هم گزینه های اشتباهی بودن ولی نسبت به استراتژی خیلی خیلی معقول تر بودن و دوستانی که این دو رو انتخاب کردن تحلیل بهتری پیش خودشون داشتن.
و بنظرم اداپتر نسبت به فساد انتخاب بهتری بود و دوستانی که اداپتر رو انتخاب کردن احتمالن تحلیل ذهنی بهتری داشتن.
ولی در حال گزینه درست رو انتخاب نکردن.
✅و اما گزینه ی درست هیچکدام بود.
@purecoder_ir
❌هر گردی گردو نیست.
استراتژی اشتباه ترین گزینه بود.
❌فساد و اداپتر هم گزینه های اشتباهی بودن ولی نسبت به استراتژی خیلی خیلی معقول تر بودن و دوستانی که این دو رو انتخاب کردن تحلیل بهتری پیش خودشون داشتن.
و بنظرم اداپتر نسبت به فساد انتخاب بهتری بود و دوستانی که اداپتر رو انتخاب کردن احتمالن تحلیل ذهنی بهتری داشتن.
ولی در حال گزینه درست رو انتخاب نکردن.
✅و اما گزینه ی درست هیچکدام بود.
@purecoder_ir
❓بنظرت کدوم یک از کدهای زیر بهتره و راحتر میتونی بخونی و بفهمیش؟
(این کد قراره عامل های اول عدد n رو محاسبه کنه!!!)
توضیحی داشتی توی کامنت بگو 🙏😍
@purecoder_ir
(این کد قراره عامل های اول عدد n رو محاسبه کنه!!!)
1⃣
List<int> PrimeFactorsOf(int n)
{
var factors = new List<int>();
int divisor = 2;
while (n > 1)
{
while (n % divisor == 0)
{
factors.Add(divisor);
n /= divisor;
}
divisor++;
}
return factors;
}
2⃣
List<int> PrimeFactorsOf(int n)
{
var factors = new List<int>();
for (int divisor = 2; n > 1; divisor++)
for (; n % divisor == 0; n /= divisor)
factors.Add(divisor);
return factors;
}
توضیحی داشتی توی کامنت بگو 🙏😍
@purecoder_ir
اگه یه متدی داشته باشیم که قرار باشه یه Employee رو به عنوان ورودی بگیره و حقوقش رو محاسبه کنه، چه اسمی رو براش مناسب میدونی؟
Anonymous Poll
53%
CalculateSalary(Employee employee)
8%
GetSalary(Employee employee)
25%
CalculateSalaryFor(Employee employee)
11%
GetSalaryOf(Employee employee)
3%
اسم دیگه ای مد نظرم هست، کامنت کن...
Pure Coder
اگه یه متدی داشته باشیم که قرار باشه یه Employee رو به عنوان ورودی بگیره و حقوقش رو محاسبه کنه، چه اسمی رو براش مناسب میدونی؟
❌گزینه های ۲ و ۴ (get..) ناملموس هستن، چون صورت مساله خیلی واضح گفته "محاسبه کردن حقوق".
🟢بین گزینه ۱ و ۳ اولویت رو روی گزینه ای میگذاریم که راحتر و بهتر شبیه به یه جمله خونده بشه.
✔️گزینه ۱:
Calculate salary [employee ]
خوبه ولی مثل اینکه یه چیزی کم داره.
✔️گزینه ۳:
Calculate salary for [employee]
بهتر شد😍
✅پس گزینه ی ۳ بهتره چون که به یه جمله ی انگلیسی روون نزدیکتره.
🔥اسم ورودی متد رو هم به عنوان قسمتی از اسم در نظر گرفتیم.
برای مثال اسم زیر هم خیلی خوب نیست.
CalculateSalaryForEmployee(Employee employee)
کلمه ی Employee دوبار تکرار شده.
❓حالا اگه توی ورودی به جای ابجکت employee میخواستیم آیدی employee رو دریافت کنیم، بنظرت چه اسمی مناسب بود؟
CalculateSalary....(int employeeId)
اون "..." رو تو بگو👇
@purecoder_ir
🟢بین گزینه ۱ و ۳ اولویت رو روی گزینه ای میگذاریم که راحتر و بهتر شبیه به یه جمله خونده بشه.
✔️گزینه ۱:
Calculate salary [employee ]
خوبه ولی مثل اینکه یه چیزی کم داره.
✔️گزینه ۳:
Calculate salary for [employee]
بهتر شد😍
✅پس گزینه ی ۳ بهتره چون که به یه جمله ی انگلیسی روون نزدیکتره.
🔥اسم ورودی متد رو هم به عنوان قسمتی از اسم در نظر گرفتیم.
برای مثال اسم زیر هم خیلی خوب نیست.
CalculateSalaryForEmployee(Employee employee)
کلمه ی Employee دوبار تکرار شده.
❓حالا اگه توی ورودی به جای ابجکت employee میخواستیم آیدی employee رو دریافت کنیم، بنظرت چه اسمی مناسب بود؟
CalculateSalary....(int employeeId)
اون "..." رو تو بگو👇
@purecoder_ir
Forwarded from Vania Dart Framework
📢 نسخه جدید وانیا منتشر شد
نسخه 0.7.1 🎉🎊
قابلیت های اضافه شده
💠 انجین قالب (Template Engine)
با این قابلیت شما با داشتن دانش html و css میتونید خیلی راحت بدون نیاز به داشتن دانش فنی در زمینه فریمورک های فرانت وب سایت های داینامیک رو توسعه بدید
👨👩👧👦 مدیریت نسشت های کاربرن (Session Manager)
با این قابلیت شما میتونید نشست های کاربران رو مدیریت کنید و وب اپلیکیشن های با امنیت بالا ایجاد
بزودی ویدیو معرفی و نحویه استفاده از این دو قابلیت رو منتشر میکنم
نسخه 0.7.1 🎉🎊
قابلیت های اضافه شده
💠 انجین قالب (Template Engine)
با این قابلیت شما با داشتن دانش html و css میتونید خیلی راحت بدون نیاز به داشتن دانش فنی در زمینه فریمورک های فرانت وب سایت های داینامیک رو توسعه بدید
👨👩👧👦 مدیریت نسشت های کاربرن (Session Manager)
با این قابلیت شما میتونید نشست های کاربران رو مدیریت کنید و وب اپلیکیشن های با امنیت بالا ایجاد
بزودی ویدیو معرفی و نحویه استفاده از این دو قابلیت رو منتشر میکنم
Forwarded from Vania Dart Framework
Media is too big
VIEW IN TELEGRAM
ویدیو استفاده از قابلیت های جدید فریمورک وانیا
اگه یه آموزشگاه داشته باشیم و داخلش بخوایم یه دانش اموز ثبت نام کنیم، اسم متدی که قراره این کار رو انجام (مثلن متدی که توی کنترلر قراره میگیره) رو چی میذاری؟
Anonymous Poll
3%
CreateNewUser
2%
AddNewUser
10%
RegisterNewUser
11%
CreateNewStudent
5%
AddNewStudent
64%
RegisterNewStudent
3%
اسم دیگه مد نظرمه، کامنت کن..
یه خبر خوووب 😍
میخوایم یکم توی دیزاین پترن ها عمیق تر بشیم و متفاوت تر یادشون بگیریم و ازشون استفاده کنیم😍
برای همین یه ریپوزیتوری توی گیتهاب درست کردیم که قراره اونجا در مورد دیزاین پترن ها discussion های مختلف و متفاوتی رو داشته باشیم.
در آینده هم حتمن نمونه کدهایی رو برای پترن های مختلف قرار میدیم.
البته این ریپو با مشارکت همه دوستان جلو میره😍
اولین discussion هم در مورد composition و inheritance هست...👇
https://github.com/MohammadTaherri/DesignPatterns/discussions/7
حتمن شرکت کنید و به پربار شدن بحث کمک کنید 🙏🙏
میتونی نظرهای خودت رو مطرح کنی یا سوال بپرسی یا حتا یه نمونه کد بع اشتراک بگذاری و با اون ایده ی خودتو شرح بدی...
@purecoder_ir
میخوایم یکم توی دیزاین پترن ها عمیق تر بشیم و متفاوت تر یادشون بگیریم و ازشون استفاده کنیم😍
برای همین یه ریپوزیتوری توی گیتهاب درست کردیم که قراره اونجا در مورد دیزاین پترن ها discussion های مختلف و متفاوتی رو داشته باشیم.
در آینده هم حتمن نمونه کدهایی رو برای پترن های مختلف قرار میدیم.
البته این ریپو با مشارکت همه دوستان جلو میره😍
اولین discussion هم در مورد composition و inheritance هست...👇
https://github.com/MohammadTaherri/DesignPatterns/discussions/7
حتمن شرکت کنید و به پربار شدن بحث کمک کنید 🙏🙏
میتونی نظرهای خودت رو مطرح کنی یا سوال بپرسی یا حتا یه نمونه کد بع اشتراک بگذاری و با اون ایده ی خودتو شرح بدی...
@purecoder_ir
GitHub
Composition vs Inheritance · MohammadTaherri/DesignPatterns · Discussion #7
What differentiates composition and inheritance? When should each be used? Why are the Gang of Four patterns based on the "favor composition over inheritance" theory?
Forwarded from Fluttery's Journey
قسمت Multi Currency Money به دوره اضافه شد...
مربوط به مدل سازی یه پول یا Money با currency هلی مختلف مثل دلار یا یورو یا درهم یا ... و جمع کردن currency های مختلف با هم دیگه...
برای مثال
10 dollor + 20 euro + 50 dirham
که با composite pattern پیاده شده.
لینک دوره:
https://purecoder.ir/course/flutterys-journey/
ثبت نام:
@purecoder_support
مربوط به مدل سازی یه پول یا Money با currency هلی مختلف مثل دلار یا یورو یا درهم یا ... و جمع کردن currency های مختلف با هم دیگه...
برای مثال
10 dollor + 20 euro + 50 dirham
که با composite pattern پیاده شده.
لینک دوره:
https://purecoder.ir/course/flutterys-journey/
ثبت نام:
@purecoder_support