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

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

⭕️پشتیبانی:
@PureCoder_support
@MohammadTaherri
Download Telegram
🔥دوره ی Fluttery's journey تا به اینجا 😍😍

برای شرکت در دوره یا سوال و مشاوره یه ایدی زیر پیام بدید:
@purecoder_support
Pure Coder pinned a photo
Forwarded from Fluttery's Journey
خودمون RenderObject ساختیم😍😍
بدون استفاده از کلاس RenderObject فلاتر

از بیس و اختصاصی برای توضیح مفاهیم...

بدون استفاده از ویجت ها و امکانات فریمورک و فقط با api های Dart Ui یه UI و Animation ساده ساختیم.
Pure Coder pinned a photo
🔥Event Loop

https://purecoder.ir/fluttry-journy-dart-event-loop/

از سری دروس رایگان دوره ی فلاترمون event Loop در دارت هست که از لینک بالا میتونی دنبالش کنی 😍

حتمن بخونش تا با نحوه ی هندل شدن async Task ها و event queue و microtask ها توی دارت اشنا بشی

پشتیبانی:
@purecoder_support

@purecoder_ir
پیام یکی از دوستانی که توی دوره ی فلاتر شرکت کرده بود

مربوط به قسمتی هست که توی فصل ۱ یه مثال از متد بازگشتی رو با روش TDD حل کردیم و روحش ارضا شد 😂😂😝😝

حتا توی دوره بک گراند فلاتر هم ولتون نمیکنم و شده یه گریز کوچیکی به تست میزنم 😝😝

@purecoder_ir
درست کردن n تا فولدر تو در تو به معنی یه معماری خوب نیست

نکنید آقا نکنید 🤦‍♂🤦‍♂🤦‍♂

@purecoder_ir
من کامیت های گیت رو معمولن اینجوری متمایز میکنم:

feature

اینا کامیت هایی هستن که معمولن مقدار زیادی کد از لایه های مختلف رو شامل میشن (تست + پروداکشن کد) و همراه با اون یه feature جدید به نرم افزار اضافه میشه.

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

🔥برای تست ها کامیت جدا نمیزنم و همه رو باهم کامیت میکنم (تست + پروداکشن کد)

‌Behavior
اینا مربوط به تغییراتی هستن که observable behavior سیستم رو برای end user تغییر میده, ولی نمیشه اونا رو یه feature به حساب اورد.

برای مثال وقتی که رسپانسی که یه api برمیگردونه رو تغییر میدم.

Refactor

وقتی که استراکچر کد (پروادکشن کد یا تست) رو تغییر میدم بدون اینکه observable behavior اش تغییر کنه.

اینا معمولن شامل مقدار کمی تغییرات میشن.

style

وقتی کد رو فرمت میکنم, مثل پاک کردن فضاهای خالی و ... .

🔥ریفکتور کردن رو به وقت خاص موکول نمیکنم و موقع اضافه کردن یه فیچر جدید مقدار زیادی رفیکتور انجام میشه. ولی اگه بعد از اضافه شدن فیچر, نیاز به ریفکتور بود (که حتمن هست) پای کامیت های تایپ ریفکتور میاد وسط.

Chore

یه پکیجی، دپندنسی، چیزی اضافه کردم
معمولن کوچولوترین کامیت ها هستن.


@purecoder_ir
بهترین زبان برنامه نویسی برای یادگیری مباحث جامع و مشترک مثل دیزاین پترن ها, معماری, تست نویسی و ... زبان جاوا هست و لاغیر.

بدترین زبان هم جاوا اسکریپته. خدا لعنت کنه سازندش رو.
Pure Coder
هاه.. اومدم یه سوال ساده الگوریتمی در حوزه ارایه‌ها حل کنم ولی راستش رو بخواین اگر خودم با خودم مصاحبه می‌کردم، نمره قبولی نمی ‌دادم ((: https://youtu.be/Xne03-Owc84
جادی شروع کرده توی یوتیوبش مسائل الگوریتمی حل میکنه و هر چند وقت یه بار یه قسمت جدید میذاره

حتمن دنبال کنید

خودم فرصت و حوصله کنم حتمن پیگیری میکنم ...
🔥implicit cast

یکی از امکاناتی که توی سی شارپ هست و خیلی جاها کاربردیه و اگه دارت هم چنین چیزی اضافه کنه خیلی خوب میشه implicit cast هست:

public static implicit operator Result<T, E>(T value)
{
return Result.Success<T, E>(value);
}

public static implicit operator Result<T, E>(E error)
{
return Result.Failure<T, E>(error);
}

// Usage
public static Result<Money, Error> Create(long amount)
{
if (amount < 0)
return new MoneyAmountIsNegative();

return new Money(amount);
}
Forwarded from OOD Part 1
سوال

اگه معماری کلین رو به یاد داشته باشی یه دونه کلاس abstract یا اینترفیس برای یوزکیس ها می‌ساختیم که جنریک هم بود

interface class Usecaee<TInput, TResult>{
Future<TResult> execute(TInput input);
}

بعد هر کلاسی این رو impl می‌کرد تایپ. Tinput رو مشخص می‌کرد.

فرض کن بجای این اینترفیس این مدلی عمل کینم:

interface class Usecaee< TResult>{
Future<TResult> execute(object input);
}

ینی برای input جنریک در نظر نگیریم و اونو از جنس object بگیریم

حالا کلاسی که پیاده سازیش میکنه اینجوری عمل میکنه

class AddNewProductCategory implements Usecase<void> {

Futue<void> execute(object input) {
var params = input as AddNewCategoryParams;


}
}

ینی وروی جنس ابجکت رو به جنس دلخواه خودش cast میکنه تا بتونه باهاش کار کنه..

اینجا کدوم اصل سالید نقض شده ؟

😁به نام گذاری ها و ...گیر ندید..کد رو توی تلکرام نوشتم
فقط سوال رو جواب بدید😁