آموزش روش های برنامه نویسی برای ارائه کد پاک با کارایی بالا

Programming Practices to Deliver High Performance Clean Code

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: شیوه های برنامه نویسی، بهره وری، کد پاک، شیوه های نرم افزار، بررسی کد، سبک، OOP ها، رابط ها، اصول طراحی رابط کاربری در عمق شیوه های نرم افزاری برای نوشتن کدهای خوانا و آماده تولید شیوه های برنامه نویسی قابل اجرا برای هر زبان برنامه نویسی به ویژه C++، Java، Python، JavaScript اصولی که باید در هنگام رسیدگی به مشکلات خاص مانند عملکرد و اشکال زدایی رعایت شود. شما اصول مورد نیاز برای شکل دادن به مهارت های خود را به شیوه های قدرتمند یاد خواهید گرفت. دانش کاری در مورد توسعه نرم افزار به طور کلی. توانایی درک ماهیت تکراری طراحی مفید خواهد بود. تکه های ساده از چند خط به عنوان مثال و بررسی سریع استفاده می شود. هیچ زبان برنامه نویسی خاصی مورد هدف قرار نمی گیرد. اگر در 6 ماه گذشته با هر زبان برنامه نویسی تمرین کرده باشید، می توانید همه چیز را در دوره درک کنید! اگر به تازگی اولین زبان برنامه نویسی خود را یاد گرفته اید، فقط در مورد محتوا صبور باشید. قطعاً به هر پروژه ای که بعداً انتخاب می کنید تمرکز می کند.

به دوره آموزشی برنامه نویسی C++/Java/Python/JavaScript در Udemy خوش آمدید!

من مطمئن هستم که به عنوان برنامه نویس باید برخی از سوالات زیر را در نظر داشته باشید

  • تفاوت بین سبک برنامه نویسی خوب و بد چیست؟

  • چگونه می توانم کد قابل خواندن و نگهداری بیشتری بنویسم؟

  • بهترین روشها برای نامگذاری متغیرها و توابع چیست؟

  • تورفتگی و قالب بندی در کد چقدر مهم است؟

  • چگونه می توانم خوانایی عبارات شرطی پیچیده را بهبود بخشم؟

  • چند تله‌های رایجی که باید هنگام نوشتن کد اجتناب کنید چیست؟

  • چگونه می توانم به طور موثر از نظرات برای بهبود خوانایی کد استفاده کنم؟

  • برای نوشتن کد کارآمد و بهینه چه نکاتی وجود دارد؟

  • چگونه می توانم از ثبات و نگهداری در یک پایگاه کد اطمینان حاصل کنم؟

  • چگونه می توانم مهارت های برنامه نویسی و بهترین شیوه های خود را در طول زمان بهبود بخشم؟

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

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

در پایان این دوره، شما درک کاملی از شیوه های برنامه نویسی خواهید داشت که به شما کمک می کند تا یک مهندس نرم افزار موفق شوید. علاوه بر این، می‌توانید کدهای تمیز، کارآمد و منظم بنویسید و مهارت‌هایی برای کار مؤثر در یک محیط تیمی داشته باشید.

این دوره برای مهندسین نرم افزار در تمام سطوح، از مبتدی تا حرفه ای با تجربه مناسب است. هیچ تجربه برنامه نویسی لازم نیست، اما آشنایی با یک زبان برنامه نویسی مفید خواهد بود. بنابراین، اگر می خواهید مهارت های برنامه نویسی خود را بهبود بخشید و مهندس نرم افزار بهتری شوید، این دوره برای شما مناسب است!


چرا تمرین های برنامه نویسی مورد نیاز است؟

روش‌های برنامه‌نویسی در مهندسی نرم‌افزار ضروری هستند زیرا به اطمینان از کیفیت بالای نرم‌افزار، نگهداری آسان و تغییر آسان کمک می‌کنند. برخی از نمونه‌هایی از شیوه‌های برنامه‌نویسی که در مهندسی نرم‌افزار مهم هستند عبارتند از:

  1. نوشتن کد تمیز و مستند به سایر برنامه‌نویسان کمک می‌کند کد را راحت‌تر درک کنند و با آن کار کنند.

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

  3. رعایت استانداردهای کدگذاری: این امر به اطمینان از سازگاری و خواندن آسان کد کمک می‌کند، که نگهداری و اصلاح آن را آسان‌تر می‌کند.

  4. آزمایش خودکار: این به تشخیص زودهنگام اشکالات کمک می کند و از کیفیت بالای کد اطمینان می دهد.

  5. استفاده از روش‌های برنامه‌نویسی منسجم کمک می‌کند تا کد هنگام اشکال‌زدایی و تنظیم، قابل استفاده‌تر و درک آن آسان‌تر شود.

آیا روش های برنامه نویسی رایجی وجود دارد که برای همه زبان های برنامه نویسی قابل اجرا باشد؟

بله، چندین روش برنامه نویسی رایج وجود دارد که برای همه زبان های برنامه نویسی قابل استفاده است. این موارد عبارتند از:

  1. نوشتن کد خوانا و با ساختار خوب: این کار درک و حفظ کد را برای دیگران (و خودتان) در آینده آسان‌تر می‌کند.

  2. استفاده از نظرات: از نظرات برای توضیح هدف و عملکرد کد استفاده می شود و آن را خواناتر و قابل فهم تر می کند.

  3. استفاده از نام متغیرها و توابع معنی دار: این کار خوانایی و درک کد را بهبود می بخشد.

  4. استفاده از انواع داده‌ها و ساختارهای مناسب: استفاده از انواع داده‌ها و ساختارهای مناسب می‌تواند به بهبود عملکرد کد و نگهداری بیشتر آن کمک کند.

  5. نوشتن کد کارآمد: نوشتن کدی که از نظر عملکرد و استفاده از حافظه کارآمد باشد، برای ثبات کلی و مقیاس پذیری نرم افزار مهم است.

  6. پیاده‌سازی مدیریت خطا: مدیریت صحیح خطاها و استثناها می‌تواند به جلوگیری از خرابی برنامه کمک کند و آن را قوی‌تر کند.

  7. پیروی از یک سبک کدنویسی ثابت: استفاده از یک سبک کدنویسی سازگار، کد را خواناتر و قابل نگهداری تر می کند و درک و مشارکت در پایگاه کد را برای دیگر توسعه دهندگان آسان تر می کند.

اینها برخی از بهترین روش‌های عمومی هستند که در هر زبان و ابزار برنامه‌نویسی دنبال می‌شوند. با این حال، برخی از روش‌ها ممکن است بسته به زبان یا چارچوب خاصی که استفاده می‌شود، تنظیمات کوچکی داشته باشند.

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


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

معرفی Introduction

  • هدف، واقعگرایانه Objective

  • درخواست صمیمانه قبل از شروع Sincere Request before getting started

  • آزمون گرم کردن Warm-up quiz

سبک برنامه نویسی Programming Style

  • سبک برنامه نویسی: بخش مقدمه Programming Style : Section Introduction

  • چرا سبک برنامه نویسی مهم است؟ Why programming style matters?

  • نام گذاری: ویژگی های مورد نظر Naming : Desired Characteristics

  • روش های نامگذاری: نام متغیرها - 1 Naming Practices : Variable names - 1

  • روشهای نامگذاری: نام متغیرها - 2 Naming Practices : Variable names - 2

  • روش های نامگذاری: نام متغیرها - 3 Naming Practices : Variable names - 3

  • بررسی سریع Quick Check

  • روش‌های نام‌گذاری: نام‌های توابع Naming Practices : Function Names

  • شیوه های نامگذاری: اهمیت دقیق بودن Naming Practices : Importance of being accurate

  • بررسی سریع Quick check

  • عبارات و عبارات: تورفتگی Expressions and Statements : Indentation

  • عبارات و عبارات: بیان طبیعی Expressions and Statements : Natural Expression

  • عبارات و عبارات: پرانتز Expressions and Statements : Parantheses

  • عبارات و عبارات: پیچیدگی Expressions and Statements : Complexity

  • عبارات و اظهارات: عوارض جانبی Expressions and Statements : Side Effects

  • بررسی سریع Quick Check

  • قوام و اصطلاحات: بررسی اجمالی Consistency and Idioms : Overview

  • سازگاری و اصطلاحات: حلقه ها Consistency and Idioms : Loops

  • سازگاری و اصطلاحات: else if Consistency and Idioms : else if

  • بررسی سریع Quick check

  • ماکروها Macros

  • اعداد جادویی Magic Numbers

  • نظرات کد Code Comments

  • خلاصه بخش Section Summary

  • آزمون بخش Section Quiz

الگوریتم ها و ساختارهای داده در برنامه نویسی Algorithms and Data Structures w.r.t Programming Practices

  • الگوریتم ها و ساختارهای داده: مقدمه بخش Algorithms and Data Strcutures : Section Introduction

  • ضرورت درک شیوه های پیرامون ساختارهای داده و الگوریتم ها Necessity to understand practices around data structures and algorithms

  • الگوریتم ها: جستجو Algorithms : Search

  • الگوریتم ها: مرتب سازی Algorithms : Sorting

  • جستجوی بررسی سریع Search quick check

  • الگوریتم ها: کتابخانه ها Algorithms : Libraries

  • الگوریتم ها: O - نشانه گذاری Algorithms : O - Notation

  • ساختار داده ها: آرایه های پویا Data Strcutures : Dynamic Arrays

  • ساختار داده ها: فهرست ها Data Strcutures : Lists

  • ساختار داده ها: درختان Data Strcutures : Trees

  • ساختار داده ها: جداول هش Data Strcutures : Hash Tables

  • الگوریتم ها و ساختارهای داده: خلاصه Algorithms & Data Strcutures : Summary

  • آزمون بخش Section Quiz

طراحی رابط: شیوه ها و اصول برنامه نویسی با مثال Interface Design : Programming practices and principles with example

  • طراحی رابط: مقدمه بخش Interface Design : Section Introduction

  • طراحی و اجرا به طور کلی Design and Implementation in general

  • مقدمه ای بر شیوه های برنامه نویسی طراحی رابط Introduction to interface design programming practices

  • مثال رابط: نسخه طراحی نمونه اولیه Interface Example : Prototype design version

  • ملاحظات طراحی Design considerations

  • بررسی سریع Quick Check

  • مثال رابط: کتابخانه Interface Example : Library

  • مشخصات رابط Interface Specifications

  • طراحی رابط: اصول کلی Interface Design : General Principles

  • پنهان کردن پیاده سازی با نام انتزاعی Hiding implementation a.k.a abstraction

  • طراحی رابط: اصول کلی گسترش یافته است Interface Design : General Principles extended

  • شیوه های برنامه نویسی مدیریت منابع Resource Management programming practices

  • شیوه های برنامه نویسی مدیریت خطا Error Handling programming practices

  • رابط های کاربری User Interfaces

اشکال زدایی: پیمایش در توسعه و تولید Debugging: Navigating the development and production

  • اشکال زدایی: بخش مقدمه Debugging : Section Introduction

  • نمای کلی شیوه های اشکال زدایی Debugging practices overview

  • دیباگرها به طور کلی Debuggers in general

  • بررسی سریع Quick Check

  • شیوه های اشکال زدایی برای اشکالات آسان Debugging practices for easy bugs

  • شیوه های اشکال زدایی برای اشکالات سخت Debugging practices for hard bugs

  • چالش های اشکال زدایی Debugging Challenges

تست: شیوه های برنامه نویسی فراتر از نقش ها و تعیین ها Testing : Programming practices beyond roles and designations

  • تست نرم افزار: بخش مقدمه Software Testing: Section Introduction

  • بررسی اجمالی تست Testing Overview

  • همانطور که کدنویسی می کنید یا توسعه مبتنی بر آزمایش را امتحان کنید Test as you code or Test Driven Development

  • تست اتوماسیون Test Automation

  • بررسی سریع Quick Check

  • روش های تست سیستماتیک Systematic testing practices

  • ملاحظات در هنگام تست نرم افزار به طور کلی Considerations while software testing in general

  • مالکیت تست Ownership of testing

عملکرد: اندازه گیری آنچه مهم است. فقط مواردی که مهم هستند را برطرف کنید! Performance: Measure what matters. Fix only what matters!

  • عملکرد نرم افزار: بخش مقدمه Software Performance : Section Introduction

  • مروری بر رویه های عملکرد Performance practices overview

  • مراحل اساسی برای نزدیک شدن به مسائل عملکرد Basic steps to appraoching performance issues

  • دستورالعمل های برنامه نویسی برای مقابله با بهبود عملکرد Guideline programming practices for dealing with performance improvement

  • زمان بندی و پروفایل برای عملکرد Timing and profiling for performance

  • بررسی سریع Quick Check

  • استراتژی های بهبود عملکرد Performance improvement strategies

  • تنظیم کد برای عملکرد بهتر Code tuning for better performance

  • بررسی سریع Quick Check

  • برآورد کردن Estimation

  • استفاده بهینه از فضا برای عملکرد بهتر Optimal space utilization for better performance

قابلیت حمل: تمرین هایی برای اطمینان از کارکرد کد در همه جا Portability: Practices to ensure code works everywhere

  • قابلیت حمل نرم افزار: بخش مقدمه Software Portability: Section Introduction

  • بررسی اجمالی Overview

  • نقش زبان در حمل و نقل Role of language in portability

  • بررسی سریع Quick Check

  • عوامل محیطی که باید در شیوه های مربوط به قابلیت حمل در نظر گرفته شوند Environmental factors to be considered in practices dealing with portability

  • نقش رابط سیستم و شیوه های رسیدگی به نگرانی های قابل حمل Role of system interface and practices to handle the portability concerns

نکته: فعال بودن تنها راه است! Notation: Being proactive is the only way!

  • علامت گذاری: بخش مقدمه Notation: Section Introduction

  • بررسی اجمالی Overview

  • زبان برنامه نویسی Programming Language

  • شیوه های قالب بندی داده ها Data formatting practices

  • عبارات با قاعده Regular Expressions

  • بررسی سریع Quick Check

  • ابزارهای قابل برنامه ریزی Programmable tools

  • زنجیره های ابزار: کامپایلرها، مترجمان، ماشین های مجازی Tool chains: Compilers, Interpreters, Virtual Machines

  • تولید کد Code Generation

  • جمع آوری فقط در زمان Just in Time compilation

نتیجه Conclusion

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

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

نمایش نظرات

آموزش روش های برنامه نویسی برای ارائه کد پاک با کارایی بالا
جزییات دوره
7 hours
84
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
716
- از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Subodh Chiwate Subodh Chiwate

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

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

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

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

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

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