×
ribbon

آموزش Clean Code

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

ارائه دهنده:  مکتب‌خونه  مکتب‌خونه
مدرس دوره:
 90% (584 رای)
سطح: مقدماتی
 پلاس
  
زمان مورد نیاز برای گذارندن دوره:  11 ساعت
مجموع محتوای آموزشی:  1:22 ساعت ویدئو - 10 ساعت تمرین و پروژه
 (قابل دانلود می‌باشد)
مهلت دوره:  3 هفته
  
حد نصاب قبولی در دوره:  80 نمره
فارغ‌التحصیل شدن در این دوره نیاز به ارسال تمرین‌ها و پروژه‌های الزامی دارد. 
organization-pic  گواهینامه این دوره توسط مکتب‌خونه ارائه می‌شود.
course-feature   گواهی‌نامه مکتب‌خونه course-feature   خدمات منتورینگ course-feature   پروژه محور course-feature   تمرین و آزمون course-feature   تالار گفتگو course-feature   تسهیل استخدام

پیش‌نیاز‌ها

این دوره به آموزش Clean Code می‌پردازد؛ در واقع شما باید برنامه‌نویس باشید تا بتوانید مهارت‌های لازم برای کدنویسی تمیز را فرا بگیرید. 

برای یادگیری بهتر کدنویسی تمیز پیشنهاد می‌کنیم کتاب‌های زیر را مطالعه کنید:

  • Clean Code: A Handbook of Agile Software Craftsmanship
  • Refactoring: Improving the Design of Existing Code

سرفصل‌های دوره آموزش Clean Code

فصل اول: اصول کلی

برای اینکه بتوانید یک کد تمیز بنویسید، ابتدا باید بدانید که کدنویسی تمیز چیست و چه ویژگی‌هایی دارد؛ بنابراین در فصل اول مقدمات لازم برای آموزش کدنویسی تمیز بیان می‌شود. در این فصل شما یاد می‌گیرید که چرا باید کد تمیز بنویسید و چگونه باید به این مهارت مهم دست پیدا کنید.

کدنویسی تمیز اصول خاص خود را دارد که باید آن‌ها را فرا بگیرید. Loose Coupling، High Cohesion، Change is Local، Mind Size بودن و Easy to Remove بودن هر یک از اجزا و فانکشن‌ها از جمله این اصول است که در فصل اول به شما آموزش داده می‌شود. 

  مقدمات و معرفی منابع Clean Code
"08:09  
  معرفی Loose Coupling و نحوه‌ی برنامه‌نویسی آن
"04:01  
  معرفی مفهوم High Cohesion
"02:38  
  معرفی مفهوم Change is Local
"01:36  
  تعریف Mind Size بودن هر Component یا Function
"02:58  
فصل دوم: تعاریف و اصطلاحات و نام‌گذاری‌ها

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

استفاده از نام‌های معنی‌دار و با مفهوم به خوانایی کدهای شما کمک بسیاری می‌کند؛ بنابراین توصیه می‌کنیم برای متغیرها، کلاس‌ها، اشیاء و همه چیز در برنامه‌نویسی نام مناسبی به کار ببرید. در فصل دوم چگونگی نام‌گذاری به شما آموزش داده می‌شود.

  معرفی اصطلاحات KISS , DRY و YAGNI
"03:25  
  اسم گذاری با مفهوم و معنی برای متغیر‌ها و کلاس‌ها
"11:02  
فصل سوم: نکات در Function ‌ها

فانکشن‌ها از مهم‌ترین و کاربردی‌ترین اجزاء برنامه‌نویسی هستند که تمیز نویسی در آن‌ها تأثیر چشمگیری روی کل کدها دارد. در این فصل به بررسی نکات لازم در نوشتن فانکشن‌ها می‌پردازیم.

  از تعداد کمی ورودی در function ها استفاده کنید!
"02:30  
  استفاده از function های کوچکتر برای هر کار!
"03:43  
  ورودی‌های function ها را تغییر ندهید
"03:25  
  از شرط برای گرفتن نتایج مختلف در Function ها استفاده نکنید
"01:40  
  در Function ها از Side Effect دوری کنید
"04:21  
  از نوشتن شرط‌های منفی خودداری کنید
"02:41  
  شرط‌ها را encapsulate کنید
"02:01  
فصل چهارم: نکات در Objectها، Data Structure‌ها و Classها

در برنامه‌نویسی شیءگرا می‌توانید از متدهای Getter & Setter استفاده کنید. استفاده از این متدها یک پارادایم استاندارد است که به شما امکان دسترسی به ویژگی‌های کلاس را می‌دهد. برای کدنویسی تمیز بهتر از این متدها بیشتر استفاده کنید.

فصل چهارم آموزش کدنویسی تمیز به بررسی نکات مهم در کلاس‌ها می‌پردازد. به‌عنوان‌مثال شما می‌توانید با استفاده از Method Chaining یا متدهای زنجیره‌ای در یک دستور چند تابع را صدا بزنید. این روش به تمیز شدن کد شما کمک می‌کند.

  نوشتن getter و setter همیشه بهتر است
"03:39  
  استفاده از Method Chaining
"02:53  
  در کلاس‌ها به Composition ارجحیت بیشتری نسبت به Inheritance بدهید
"03:34  
  آشنایی و معرفی SRP و پیاده‌سازی آن
"02:57  
  معرفی و بررسی مفهوم OCP در کلاس‌ها
"05:03  
فصل پنجم: نکات در Testing و Comment ها

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

  هر تست می‌بایست یک concept معنا دار را اجرایی کند
"02:40  
  هر تست می‌بایست در محیط ایزوله خود اجرا شود
"02:15  
  به اندازه‌ی کافی Comment بنویسید نه بیشتر
"05:00  
فصل ششم: پروژه‌ها
  پروژه اول: Survey (الزامی)
 35%    
"300:00  
  پروژه دوم: Pacman (الزامی)
 65%    
"300:00  

ویژگی‌های دوره

گواهی‌نامه مکتب‌خونه گواهی‌نامه مکتب‌خونه

در صورت قبولی در دوره، گواهی نامه رسمی پایان دوره توسط مکتب‌خونه به اسم شما صادر شده و در اختیار شما قرار می گیرد.

مشاهده نمونه گواهینامه

ویژگی‌های دوره

خدمات منتورینگ خدمات منتورینگ

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

ویژگی‌های دوره

پروژه محور پروژه محور

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

ویژگی‌های دوره

تمرین و آزمون تمرین و آزمون

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

ویژگی‌های دوره

تالار گفتگو تالار گفتگو

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

ویژگی‌های دوره

تسهیل استخدام تسهیل استخدام

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

بررسی فرصت‌های شغلی

درباره دوره

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

کدنویسی تمیز (Clean code) در ابتدای برنامه‌نویسی اتفاق نمی‌افتد و شما باید برای آن، وقت صرف کرده و حتی دوره آموزش کدنویسی تمیز را بگذرانید؛ بنابراین شما با آموزش و تمرین مداوم می‌توانید کدنویسی خود را بهبود دهید و آن را لذت‌بخش کنید.

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

اگر شما می‌خواهید در یک شرکت برنامه‌نویسی خوب استخدام شوید، یکی از شرایط لازم این است که بتوانید کدهای خوانا و تمیز بنویسید. بهترین کدنویس کسی است که کدهایی بنویسد که برای انسان هم قابل فهم باشد.

دوره آموزش Clean code محصول سال‌ها تجربه برنامه‌نویسی و کسب اطلاعات است که به شما یاد می‌دهد چگونه یک کد تمیز بنویسید یا یک کد را به یک کد تمیز تبدیل کنید.

 

هدف از یادگیری دوره آموزش Clean code چیست؟

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

 

دوره آموزش کدنویسی تمیز (Clean code) مناسب چه کسانی است؟

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

 

بعد از فراگیری دوره آموزش کدنویسی تمیز چه مهارت‌هایی کسب خواهید کرد؟

  • یادگیری تفکر کد تمیز
  • تبدیل کد به کد تمیز
  • نوشتن فانکشن‌های کوچک و بهینه
  • کار با Setter & Getter
  • نوشتن کامنت‌های بهینه و کافی

دوره آموزش رایگان Clean Code به شما یاد می‌دهد که چگونه کدهای تمیزتر و خواناتری بنویسید و چه چیزهایی را Refactor کنید. برای اینکه بتوانید از مطالب گفته شده در این دوره بهره کافی را ببرید، بهتر است هرچند ماه یک‌بار آن‌ها را مرور کنید تا کاملاً در ذهنتان ثبت شود.

درباره استاد

maktabkhooneh-teacher احسان گازار

احسان گازار برنامه‌نویسی را از ۱۷ سالگی با QBasic شروع کرد و سپس زبان C و C++ را آموخت. از همان ابتدا علاقه‌ی زیادی به برنامه‌نویسی وب داشت. از همین رو چندین سایت برای سرگرمی با HTML، CSS و JavaScript طراحی کرد.

احسان گازار فارغ‌التحصیل مهندسی کامپیوتر، گرایش سخت‌افزار از دانشگاه خواجه‌نصیر است اما به دلیل علاقه زیاد او به برنامه‌نویسی وب، برنامه‌نویسی JavaScript را ادامه داد و تبدیل به Full Stack JavaScript Developer شد.

وی از سال 90 در ایران در شرکت‌های معتبری مانند نت برگ به‌عنوان Back End Developer فعالیت داشته و از سال 95 تا سال 98 در سیدنی استرالیا به‌عنوان Full Stack JavaScript Developer مشغول به کار بود و از سال 98 در ملبورن استرالیا به‌عنوان مهندس نرم‌افزار مشغول به کار است و درحال حاضر به عنوان مدیر تیم برنامه نویسی فعالیت می‌کند. ایشان همیشه به آموزش علاقه‌‌مند بوده و دوره‌های مختلفی در زمینه Front End و سایر موضوعات برنامه‌نویسی تدریس کرده است.

مشاهده پروفایل و دوره‌‌های استاد

نظرات کاربران  ( نظر)

صفحه 1 از
محمد نادری تهرانی 1402-06-11
دانشجوی دوره
مطالب کلی و پرکاربرد کلین کد به صورت کاملا روان و ساده بیان شده بود ممنون از استاد خوب دوره وتیم مکتب خونه
1402-05-08
دانشجوی دوره
سلام. من معذرت می‌خوام ولی اصلا خوب نبود. من فصل اولش رو نگاه کردم، به هیچ وجه ایشون در موضوع انتقال مفاهیم خوب نیستن!!! و تعجب می‌کنم از دوستانی که می‌گن خوب بود!!! قبل از ایشون یه سری ویدیو آموزشی مثل همین به زبون انگلیسی با لهجه شدید هندی دیدم... که متاسفانه به خاطر لهجه بد هی باید دقت می‌کردم و گاهی دو بار نگاه می‌کردم... ولی برای این ویدیوها وضع بدتر بود و باید بعد از این که ویدیو رو نگاه می‌کردم می‌رفتم تو اینترنت هم خودم جستجو می‌کردم ببینم مثلا mind size components چی هست؟ یا high cohesion چیه؟
یونس ویسی 1401-10-20
دانشجوی دوره
استاد دوره رو تا حدودی خوب توضیح میدن ولی میشد بهتر از این عمل کرد جای پیشرفت در ارائه مطالب قطعا وجود داره. همچنین اینکه توضیحات پروژه اول بسیار گیج کننده بود و خواسته مطلئه دقیق مشخص نشده.اگه میشه خواسته های پروژه اول رو ویرایش و اصلاح بفرمایید
مهسا زند خانه شهری 1400-07-23
دانشجوی دوره
خخخخخخییییییللیییییی عااااالللیییییی بود کاملا مسلط با توضیح شفاف و مثالهای عالی
1400-05-21
دانشجوی دوره
مختصر و مفید
1400-02-29
دانشجوی دوره
بادرودوسپاس ازهمه دوستان عالی بود
1400-02-27
دانشجوی دوره
واقعا عالی بود.
حسین شیخ بارانی 1400-02-07
دانشجوی دوره
کاملا مسلط و محتوای با کیفتی بود لطفا دوره node js رو هم از آقای گازار قرار بدید ممنون دوره خوبی بود

دوره‌های پیشنهادی

سوالات پرتکرار

آیا ممکن است که درسی ناقص ضبط شده باشد؟
ما همواره تلاش کرده­‌ایم که دروس را به طور کامل ضبط نماییم و در اختیار شما دوستان قرار دهیم. اما گاهی برخی ناهماهنگی ها سبب می شود که یک یا تعدادی از جلسات یک درس ضبط نشود. توضیح این گونه نواقص در توضیح درس­ ها آمده است.

سوالات پرتکرار

اگر لینک دانلود یا پخش ویدئو مشکل داشت چه باید کرد؟
در صورتی که با هر گونه مشکلی رو به رو شدید می توانید از طریق صفحه ارتباط با ما به ما اطلاع دهید تا ما سریعا مشکل را پیگیری و برطرف نماییم.

سوالات پرتکرار

آیا امکان دریافت فیلم های یک درس به صورت سی دی یا دی وی دی وجود دارد؟
در حال حاضر امکان ارسال دروس به صورت سی دی یا دی وی دی وجود ندارد.
poster
  
برگزار کننده:  مکتب‌خونه
  
زمان مورد نیاز برای گذارندن دوره:  11 ساعت
مجموع محتوای آموزشی:  1:22 ساعت ویدئو - 10 ساعت تمرین و پروژه
 (قابل دانلود می‌باشد)
مهلت دوره:  3 هفته
  
حد نصاب قبولی در دوره:  80 نمره
فارغ‌التحصیل شدن در این دوره نیاز به ارسال تمرین‌ها و پروژه‌های الزامی دارد. 
organization-pic  گواهینامه این دوره توسط مکتب‌خونه ارائه می‌شود.
course-feature   گواهی‌نامه مکتب‌خونه course-feature   خدمات منتورینگ course-feature   پروژه محور course-feature   تمرین و آزمون course-feature   تالار گفتگو course-feature   تسهیل استخدام