آموزش C++ Refactoring Bootcamp: یادگیری C++ مدرن با تمرین

C++ Refactoring Bootcamp: Learning Modern C++ by practice

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: C++، C++ مدرن، Refactoring، روش‌های نرم‌افزاری، رفع بدهی فنی استفاده از C++98 زمانی که C++11 یا بالاتر در دسترس است شناسایی فرصت‌هایی برای ارتقاء کد قدیمی C++98 با استفاده از ویژگی‌های مدرن C++ بدون تغییر عملکرد درک چالش‌ها در بازسازی از طریق تمرین‌های کدگذاری ساخت چارچوبی برای بررسی کدهای ضد الگوها و بوی کد. در پایان این دوره، شما درک کاملی از ویژگی‌های C++11 و نحوه تغییر کد C++98 برای استفاده از آنها خواهید داشت. پیش نیازها: درک اولیه C++98: شما باید با سینتکس C++98، انواع داده، ساختارهای کنترل، کلاس‌ها، وراثت، چندشکلی، قالب‌ها و کتابخانه استاندارد آشنا باشید. مفاهیم اولیه برنامه نویسی: شما باید درک خوبی از مفاهیم برنامه نویسی مانند متغیرها، حلقه ها، توابع و آرایه ها داشته باشید. تمایل به یادگیری: مانند هر موضوع جدید، تمایل به یادگیری و کاوش مهم است!

در سفری جذاب در C++ مدرن غوطه ور شوید و یاد بگیرید که چگونه کدهای قدیمی را از C++98 به C++11 و فراتر از آن تغییر دهید. این دوره به طور جامع ویژگی‌های C++ مدرن را از طریق تمرین‌های کدنویسی عملی و آزمون‌های تعاملی برای ارتقای یادگیری فعال و درک عملی بررسی می‌کند.


از طریق نمونه‌های کد و تخصیص‌های گسترده، تفاوت‌های ظریف کسر تایپ خودکار، معناشناسی حرکت، عبارات لامبدا، حلقه‌های مبتنی بر دامنه و بسیاری از جنبه‌های دیگر C++11 را خواهید آموخت. هر مفهوم جدید همراه با تمرین‌های عملی است که یادگیری شما را تقویت می‌کند و نشان می‌دهد که چگونه این ویژگی‌ها می‌توانند خوانایی، عملکرد و ایمنی کد را افزایش دهند.


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


این دوره مخصوصاً برای توسعه دهندگان باتجربه C++ و برنامه نویسان مشتاق با درک پایه ای از C++98 و مشتاق پذیرش تکنیک های مدرن C++ مناسب است. این دوره شما را با دانش و اعتماد به نفس برای تطبیق پایگاه های کد C++ قدیمی با آخرین استانداردها مجهز می کند و به شما امکان می دهد کدهای کارآمدتر و قابل نگهداری بیشتری بنویسید.


Refactoring نقش مهمی در سلامت و طول عمر سیستم‌های تولید در مقیاس بزرگ دارد. همانطور که سیستم‌ها تکامل می‌یابند، به ناچار «بدهی فنی» به آنها تعلق می‌گیرد. زمانی که کد کارآمد به دلیل تغییرات در سیستم گسترده تر، وابستگی ها یا به سادگی تکامل تکنیک های برنامه نویسی قدیمی، خواندن آن سخت، یا ناکارآمد شود. همانطور که سیستم ها رشد می کنند، این بدهی فنی می تواند به طور قابل توجهی مانع بهره وری شود، زیرا توسعه دهندگان باید زمان بیشتری را صرف درک و کار روی کدهای قدیمی به جای اجرای ویژگی های جدید کنند. Refactoring، فرآیند بهبود کد موجود بدون تغییر عملکرد آن، بهترین ابزار برای مبارزه با این موضوع است. خوانایی کد را افزایش می‌دهد، پیچیدگی را کاهش می‌دهد و اغلب می‌تواند منجر به بهبود عملکرد شود، که همگی می‌توانند به طور قابل توجهی بهره‌وری یک تیم توسعه را افزایش دهند.


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

آیا آماده پذیرش آینده برنامه نویسی C++ هستید؟ اکنون به ما بپیوندید و از امروز شروع به نوشتن کدهای پاک تر، کارآمدتر و ایمن تر کنید!


سرفصل ها و درس ها

معرفی Introduction

  • بررسی اجمالی دوره Course Overview

  • پیش نیازهای دوره Course Prerequisistes

  • مروری بر استانداردهای C++ - C++98 تا C++23 Overview of C++ standards - C++98 to C++23

بازسازی کدهای قدیمی در آینده نزدیک Refactoring legacy codes in imminent

  • تنظیم انتظارات: مفروضات در مقابل واقعیت کار با C++ در محل کار Setting the expectations: Assumptions vs reality of working with C++ at work

  • بازآفرینی فرصت ها در پایگاه های کد قدیمی Refactoring oppotunities in legacy code bases

  • استفاده از ابزار Modern to برای نوشتن کدهای C++ مدرن Using modern to tool to write modern C++ code

  • اصول Refactoring - مروری مختصر در سناریوهای عمده قابل اجرا است Refactoring basics - Brief overview applicable in majoirty scenarios

  • بوهای کد و ضد الگوها باید از کدهای قدیمی اجتناب کرد و آنها را حذف کرد Code smells and anti patterns one must avoid and remove from legacy code

  • Refactoring بهترین شیوه ها در یک نگاه Refactoring Best practices at a glance

تمرینات کدگذاری - منطقه تمرین Coding Exercises - Practice Zone

  • رویکردی برای حل تمرین های کدگذاری در دوره Approach to solve the coding excercises in the course

  • دست گرمی بازی کردن Warm up

  • Initializers عضو داده های غیر استاتیک Non-Static Data Member Initializers

  • کار با قالب ها Working with templates

  • کار با قالب ها و انواع مختلف Working with templates and multiple types

  • انتقال به C++17 Moving to C++17

  • شروع کار با توابع Getting started with functions

  • کار با توابع Working with functions

  • موضوعات در C++ مدرن Threads in Modern C++

  • لیست پیوند شده (اکثر پورتال های مصاحبه هنوز آن را اشتباه می نویسند!) Linked List (Most interview portals still write it incorrectly!)

  • نسخه را شناسایی کنید Identify the version

  • کار با اشاره گر Working with pointers

  • کسر نوع Type deduction

  • مقداردهی اولیه ظروف Initializing containers

  • Enums Enums

  • قالب ها Templates

  • کار با ساختارهای داده تعریف شده توسط کاربر: نمودار Working with user defined data strcutures : Graph

  • کار با الگوریتم های داخلی Working with built-in algorithms

  • کار با ساختارهای داده تعریف شده توسط کاربر: HashMaps Working with user defined data structures : HashMaps

  • کار با عبارات منظم Working with regular expressions.

  • توابع حذف شده Deleted Functions

  • بیت مجموعه Bit set

  • اتصالات ساختاریافته (C++17) Structured Bindings ( C++17 )

  • آرایه ها Arrays

  • معناشناسی حرکت Move semantics

  • کلمات تعریف شده توسط کاربر در C++ مدرن User defined literals in Modern C++

  • ویژگی های همزمانی Concurrency features

  • سازندگان Constructors

  • مفاهیم و محدودیت ها (C++20) Concepts and Constraints ( C++20)

  • با استفاده از Constexpr Using constexpr

  • کاربر توابع تبدیل را تعریف کرده است The user defined conversion functions

  • دنباله های مشخص کننده صفت Attribute specifier squences

نتیجه Conclusion

  • سخنان پایانی Closing remarks

  • [سخنرانی پاداش] [Bonus Lecture]

نمایش نظرات

Udemy (یودمی)

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

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

آموزش C++ Refactoring Bootcamp: یادگیری C++ مدرن با تمرین
جزییات دوره
36 mins
12
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
303
4 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Subodh Chiwate Subodh Chiwate

برنامه نویس، امور مالی شخصی، فناوری

من Subodh (36) هستم، یک برنامه نویس با MS در مهندسی برق و مقیم هند.

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

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

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

ایده ها و پیشنهادات شما همیشه مورد استقبال قرار می گیرد.