Pure Coder
789 subscribers
189 photos
30 videos
8 files
150 links
⭕️آدرس سایت:
https://purecoder.ir

⭕️گروه پرسش و پاسخ:
@purecoder_gp

⭕️پشتیبانی:
@PureCoder_support
@MohammadTaherri
Download Telegram
توی بعضی آگهی های استخدامی مثلن میزنه به توسعه دهنده ی ارشد یا توسعه دهنده ی سنیور نیاز داریم و میزان حقوق رو ۲۵ تومن میزنه یا ۳۰ تومن میزنه یا ....

ممکنه در نگاه اول به ذهنت بیاد که کدوم سنیوری ۲۵ یا ۳۰ میگیره؟

توجه به یک نکته اهمیت زیادی داره که این واژه ها تعریف مطلقی ندارن و خیلی نسبی هستن و تعریف تو از ارشد و سنیور ممکنه با تعریف یه نفر دیگه تفاوت داشته باشه، پس به جای تمرکز کردن روی عنوان اگهی، نیازمندی ها و توضیحات آگهی رو بخون و با توجه به اون سبک سنگین کن که میرزه یا نه.

حتا بعضی مواقع بعد از مصاحبه باید تصمیم نهایی رو بگیری.

حتا ممکنه به ذهنت بیاد که من ارشد و سنیور نیستم و آگهی رو بیخیال شی.
باز هم تاکید می‌کنم که تعاریف متفاوت هست، نیازمندی ها رو ببین و با توجه به اون ها تصمیم بگیر که تو مناسب اون موقعیت هستی و یا نه.

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

@purecoder_ir
🔥SQL

توی کوئری های پیچیده، دونستن این ترتیب برای اینکه بدونیم داره چه اتفاقی میوفته مهمه...

@purecoder_ir
بنظرتون این نام گذاری خوبه؟

foreach(var s in students)
{
//....
}
s?
Anonymous Poll
29%
آره
71%
نه
Pure Coder
s?
درصد قابل توجهی گفتن که این نام گذاری خوب نیست.

احتمالن بخاطر مخفف بودن این رو گفتن.

درحالیکه این نام گذاری خوبه و ایرادی نداره.

توی نام گذاری باید به اسکوپی که اون variable استفاده میشه دقت کنیم. اینجا قراره توی یه اسکوپ کوچیک استفاده بشه و نام هاي کوچیک و جمع و جور خیلی هم مناسب هستن و فهم کد رو سخت نمیکنن.

در واقع برای کلین بودن کد باید خود بدنه ی for کوچیک باشه(تا جای امکان یک خطی باشه)

حتا میشه از نام های دیگه استفاده کرد.

مثل x

خیلی هم بهترن و همه ی Loop ها رو شبیه به هم میکنه و به راحتی ابجکتی که داره پیمایش میشه رو تشخیص میدیم.

توی کل کدتون از یه قرارداد ثابت استفاده کنید.

@purecoder_ir
لیست ها و کالکشن ها برای اینکه بتونن قابلیت پیمایش شدن روی Element های خودشون رو فراهم کنن، چه پترنی رو پیاده میکنن ؟
Anonymous Quiz
10%
Observer
7%
Visitor
65%
Iterator
5%
State
13%
نمیدونم، دیدن جواب
Pure Coder
لیست ها و کالکشن ها برای اینکه بتونن قابلیت پیمایش شدن روی Element های خودشون رو فراهم کنن، چه پترنی رو پیاده میکنن ؟
آیا فقط برای لیست ها هست؟

خیر.

هر دیتااستراکچری که داشته باشیم، حتا یه Tree، میشه از این پترن براش استفاده کرد تا بدون اینکه ساختار داخلی خودش رو به بیرون درز بده, الگوریتم دلخواه خودش برای پیمایش کردن Element خودش رو پیاده کنه و همچنین همه ی دیتااستراکچر ها یه زبان مشترک داشته باشن.

دیتااستراکچر هایی که این پترن رو پیاده کرده باشن میتونن توی for loop قرار بگیرن...

@purecoder_ir
بنظرتون توکن JWT رو وقتی که میخواید سمت کلاینت(موبایل یا ...) ذخیره کنید باید هش کنید و درست نیست بدون هش کردن ذخیرش کرد؟

دلیلتون رو هم توی کامنت بگید🙏
Anonymous Poll
36%
آره حتمن نیازه
64%
نه نیازی نیست
بنظرت کدوم کد بهتره؟

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
👇
Anonymous Poll
13%
1
19%
2
42%
3
26%
4
Pure Coder
توی اپ مون قراره برای کاربران پیامک ارسال کنیم برای این منظور قراره از ارائه دهنده های سرویس پیامک مختلف استفاده کنیم. مثلن sms ir و ملی پیامک و ‌... در نتیجه ی کش و قوس های فراوان تصمیم میگیریم که یه اینترفیس بذاریم و بعدش کلاس های مختلف داشته باشیم که…
🔥خب بریم سر وقت داستان فرستادن پیامک و اینترفیس زدن و implementation های مختلف برای هر provider:

هر گردی گرد‌و نیست.
استراتژی اشتباه ترین گزینه بود.

فساد و اداپتر هم گزینه های اشتباهی بودن ولی نسبت به استراتژی خیلی خیلی معقول تر بودن و دوستانی که این دو رو انتخاب کردن تحلیل بهتری پیش خودشون داشتن.
و بنظرم اداپتر نسبت به فساد انتخاب بهتری بود‌ و دوستانی که اداپتر رو انتخاب کردن احتمالن تحلیل ذهنی بهتری داشتن.

ولی در حال گزینه درست رو انتخاب نکردن‌.

و اما گزینه ی درست هیچکدام بود.

@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
خب انتخاب کن ...
Anonymous Poll
37%
1)while loop
63%
2)for loop
اگه یه متدی داشته باشیم که قرار باشه یه 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
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Vania Dart Framework
📢 نسخه جدید وانیا منتشر شد

نسخه 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%
اسم دیگه مد نظرمه، کامنت کن..