مدتی بود که این ریپازیتوریها رو نشان کرده بودم و هر از گاهی که وقت خالی داشتم یه نگاهی بهشون مینداختم و هربار یک چیز تازه یاد میگرفتم. به نظرم این لیست اینقدر خوب هست که باید اون رو یه پست کرد که با دیگران به اشتراک گذاشت.
این لیست رو سعی کردم به ترتیب اولویت آشنایی برای دولوپری که تازه شروع کرده مرتب کنم.
با کمال افتخار این ریپو رو یکی از دولوپرهای ایرانی آقای «معین تاجیک» درست کردن و خیلی موفق شده و مخاطبهای زیادی گرفته.
من وقتی تازه شروع کرده بودم با اینکه دوستان کلی من رو از ابهام درآورده بودن اما هنوز ذهنم درگیر این بود که به چه ترتیبی باید توی یادگیری پیش برم. این Roadmap به شما در شناختن مسیر بسیار کمک میکنه.
با هر زبان برنامهنوسی که کد مینوسید بهتره با رسم و رسومش آشنا باشید، اینکه جامعهی اون زبان چطوری کد مینوسیه و بین خودشون چه قراردادهایی دارند.
به عنوان مثال:
نامگذاری بد!
int d;
نامگذاری خوب.
int daySinceModification;
و یا اینکه چرا باید در کدنویس از اصول SOLID یا DRY استفاده کنیم؟ این ریپو برای نوشتن کدهای تمیزتر به شما کمک میکنه.
در طول سالها برنامهنویسها به اشکال و ساختارهایی از کد برخوردند که همیشه خودش رو تکرار میکنه، یک «الگو»ی تکرار شونده! بعد از اینکه این الگوها به اندازهی کافی خودشون رو تکرار کردند، GOF تصمیم گرفتند که تعدادی از اونها رو در یک کتاب عالی جمع کنند و این یک شروع بود که هنوز هم ادامه داره.
مثلن گاهی ما احتیاج داریم که یک شی رو که ساختنش برامون بسیار هزینهبر است رو بارها و بارها استفاده کنیم. برای اینکار بهتره از الگوی singleton استفاده کنیم.
این ریپو تمام الگوهای اولیه کتاب «Design Patterns» رو با مثال غذا! با سیشارپ پادهسازی کرده.
برای حل هر مسعلهی راههای مختلفی وجود داره، درسته که ما به جواب مورد نظر میرسیم اما همهی راهحلها از نظر هزینه و فایده برابر نیستند؛ از رنگ کردن اطاق خواب خودمون تا محاسبهی یک مسعلهی ریاضی.
در توسعهی نرمافزار ما نیازه که بدونیم که چه راهحلی برای ما هزینهی کمتری داره، یه الگوریتم خوب نسبت به کد قبلی اگه مصرف CPU رو مثلن ۳۰٪ کاهش بده به این معنیه که شما از ۱۰ عدد سروری که الان دارید میتونید ۳ عدد رو خاموش کنید! ولی این پول واقعیه.
این ریپو علاوه بر معرفی الگوریتمهای معروف، ساختار دادهها رو هم به شما معرفی میکنه، اونها رو به زبان سیشارپ پیادهسازی میکنه.
بعد از اینکه حرکت به سمت یک داتنت دولوپر خوب شدن رو شروع کردیم از یک جایی به بعد دیگه باید به فکر استخدام شدن توی شرکتهای خوب باشیم!
اینجاست که متوجه میشیم که برای استخدام شدن کدنوسی و حتا کد خوب نوشتن کافی نیست. باید با تکنولوژیهای متفاوت مسلط بشیم و با خیلی تکنولوژیهای دیگه آشنا باشیم. ایکنه چطوری در تیم کار کنیم، اینکه چطوری برنامهریزی کنیم و ابزارهاش، اینکه چطوری سازماندهی کنیم و...
این ریپو که بچههای شرکت خوب «علیبابا» زحمتش رو کشیدن یه لیست و سرفصل از چیزهای مختلفی که بهتره در موردشون بدونید فراهم کرده. از اینجا میتونید سرنخ رو بگیرید.
وقتی که توی پروژههای مختلف پیش میریم کم کم متوجه میشیم که خیلی از مساعلی که ما به دنبال حل کردنشون هستیم، قبلن برای دیگران هم پیش اومده و اونا تلاش کردن راهحلی براش درست کنن و میتونید از تلاشهای کامیونیتی استفاده کنید و خودتون هم در این کار جمعی شرکت کنید.
این ریپو لیست خوبی از تکنولوژیها، ابزارها، کتابخانههایی که میتونید در dotnet core استفاده کنید رو در اختیار شما میگذاره.
حرف آخر اینکه، شاید به نظر بیاد چیزهای خیلی زیادی برای یادگیری هست و ترسناک باشه. اما ما لازیم نیست در همه چیز متخصص باشیم تا شروع کنیم. اینکه بدونیم برای مسعلهای راهکاری هست یعنی بیشتر مسیر رو رفتیم. اینکه ما بدونیم که نمیدونیم کافیه تا بریم به دنبال یادگیری چیزهای مورد نیازمون.
ایمان یعنی برداشتن اولین قدم حتا وقتی که نمیتوان تمام مسیر را دید.
مارتین لوترکینگ