۹۷ چیزی که هر برنامهنویسی باید بداند
مؤلف دوره:
این دوره توسط بهزاد مرادی تألیف شده است.
سطح دوره:
سطح این دوره مقدماتی است.
پیشنیازها:
این دوره هیچ گونه پیش نیازی ندارد.
تعداد آموزشها:
۹۸ قسمت
معرفی دورهٔ آموزش ۹۷ چیزی که هر برنامهنویسی باید بداند
به طور خلاصه، در این دورهٔ آموزشی قصد داریم تکتک چیزهایی که برگرفته از تجربیات دولوپرهای تألیفکنندهٔ این کتاب هستند را مورد بررسی قرار دهیم؛ علاوه بر این، در توضیح این نکات به یادداشتهای کتاب اکتفا نکرده و برخی مسائلی که برنامهنویسان ایرانی با آنها روبهرو هستند را نیز مورد بررسی خواهیم داد.
در ضمن، در این دورهٔ آموزشی قصد داریم تا این انگیزه را در برنامهنویسان مبتدی ایجاد کنیم تا سبک کدنویسی برنامهنویسان حرفهای را از همین ابتدای راه پیروی کرده چرا که این کار احتمال موفقیت ایشان را به مراتب بیشتر خواهد کرد.
کتاب Ninety Seven Things Every Programmer Should Know توسط انتشارات Oreilly به بازار عرضه شده است که در آن باتوجه به تجربیات برنامهنویسان تراز اول دنیا، ۹۷ نکتهٔ کوتاه اما در عین حال کاربردی در حوزهٔ برنامهنویسی و توسعهٔ نرمافزار توضیح داده شده است.
نکات عرضه شده در این کتاب هم میتواند برای برنامهنویسان تازهکار و هم برای برنامهنویسان باتجربه مفید واقع شوند چرا که این کتاب توسط بهترینهای دنیای نرمافزار جمعآوری شده است.
نویسندگان کتاب Ninety Seven Things Every Programmer Should Know
این کتاب برگرفته از تجربیات دولوپرهای باتجربهٔ حوزهٔ توسعهٔ نرمافزار است که از آن جمله میتوان به Michael Feathers ،Pete Goodliffe ،Diomidis Spinellis ،Cay Horstmann ،Verity Stob و بسیاری دیگر اشاره کرد.
- نود و هفت چیزی که هر برنامهنویسی باید بداند: بدهی فنی
- نود و هفت چیزی که هر برنامهنویسی باید بداند: به کارگیری اصولی از توابع در برنامه نویسی
- نود و هفت چیزی که هر برنامهنویسی باید بداند: نیاز کاربر چیست؟
- نود و هفت چیزی که هر برنامهنویسی باید بداند: استاندارهای کدنویسی
- نود و هفت چیزی که هر برنامهنویسی باید بداند: ساده زیباست
- نود و هفت چیزی که هر برنامهنویسی باید بداند: آشنایی با مفهوم ریفکتورینگ در کدنویسی
- نود و هفت چیزی که هر برنامهنویسی باید بداند: نظافت را رعایت کنید!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: پیش از آن که دیگران را متهم کنید، کد خود را چک کنید!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: انتخاب ابزار مناسب
- نود و هفت چیزی که هر برنامهنویسی باید بداند: برنامه های خود را به زبان مشتریان بنویسید!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: طرحهای خود را بینقص کنید
- نود و هفت چیزی که هر برنامهنویسی باید بداند: به چیدمان کدها توجه کنید!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: نقد و بررسی کدها
- نود و هفت چیزی که هر برنامهنویسی باید بداند: کامنتگذاری را فراموش نکنید
- نود و هفت چیزی که هر برنامهنویسی باید بداند: تنها توضیحاتی را بنویسید که کدهایتان قادر به شرح آنها نباشند!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: از کدهای قبلی خود در شرایط مناسب مجدداً استفاده کنید
- نود و هفت چیزی که هر برنامهنویسی باید بداند: همواره در حال یادگیری موضوعات جدید باشید
- نود و هفت چیزی که هر برنامهنویسی باید بداند: ویژگیهای یک API با طراحی مناسب
- نود و هفت چیز که هر برنامهنویسی باید بداند: از ابتدای کار توسعهٔ اپلیکیشن خود روی فرآیند نصب و دیپلوی آن به طور پیوسته کار کنید
- نود و هفت چیز که هر برنامهنویسی باید بداند: مدیریت اکسپشنها
- نود و هفت چیزی که هر برنامهنویسی باید بداند: تمرین آگاهانه لازمهٔ حرفهای شدن است!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: پشت هر خط از کد شما میبایست یک منطق وجود داشته باشد!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: DSL چیست و چرا آشنایی با آن در حوزهٔ برنامهنویسی اهمیت دارد؟
- نود و هفت چیزی که هر برنامهنویسی باید بداند: از ساختارشکنی نترسید!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: برای تست نرمافزار از دیتای واقعی استفاده کنید
- نود و هفت چیزی که هر برنامهنویسی باید بداند: حتی یک ارور را هم نادیده نگیرید!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: فرهنگ استفاده از یک زبان برنامهنویسی را در کنار سینتکس آن بیاموزید
- نود و هفت چیزی که هر برنامهنویسی باید بداند: اکسپشها را به راحتترین شکل ممکن هَندل کنید
- نود و هفت چیزی که هر برنامهنویسی باید بداند: فرایند توسعه یک نرمافزار خوب اصلاً شانسی نیست
- نود و هفت چیزی که هر برنامهنویسی باید بداند: آشنایی با قانون DRY
- نود و هفت چیزی که هر برنامهنویسی باید بداند: آشنایی با مراحل توسعهٔ نرمافزار
- نود و هفت چیزی که هر برنامهنویسی باید بداند: بهکارگیری درست از اصول برنامهنویسی شیٔگرا
- نود و هفت چیز که هر برنامهنویسی باید بداند: اعداد اعشاری با خطای محاسباتی در کامپیوتر ذخیره میشوند
- نود و هفت چیزی که هر برنامهنویسی باید بداند: با مشارکت در پروژههای اپنسورس، حس جاهطلبی خود را ارضاء کنید!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: قانون طلایی طراحی API
- نود و هفت چیزی که هر برنامهنویسی باید بداند: کسی که چند سال است کدنویسی میکند، اصلاً علامهٔ دهر نیست!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: کار زیاد ضمانت موفقیت در برنامهنویسی نیست!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: چگونه به یک باگ نگاه کنیم؟
- نود و هفت چیزی که هر برنامهنویسی باید بداند: با حذف کدهای اضافی، سورسکد خود را بهبود بخشید
- نود و هفت چیزی که هر برنامهنویسی باید بداند: برنامههایی که مینویسید را کاربرپسند کنید
- نود و هفت چیزی که هر برنامهنویسی باید بداند: فرایندهای برون برنامهای، زمان پاسخگویی نرمافزار را تحتالشعاع خود قرار میدهند
- نود و هفت چیزی که هر برنامهنویسی باید بداند: Build اصولی ارائه کنید
- نود و هفت چیزی که هر برنامهنویسی باید بداند: استفادهٔ بهینه از ابزارهای کامندلاینی
- نود و هفت چیزی که هر برنامهنویسی باید بداند: یادگیری همزمان بیش از یک زبان برنامهنویسی
- نود و هفت چیزی که هر برنامهنویسی باید بداند: IDE خود را مثل موم در دست بگیرید
- نود و هفت چیزی که هر برنامهنویسی باید بداند: با محدودیتهای خود دست و پنجه نرم کنید
- نود و هفت چیزی که هر برنامهنویسی باید بداند: همواره بدانید چه چیزی را قرار است کامیت کنید
- نود و هفت چیزی که هر برنامهنویسی باید بداند: آشنایی با نحوهٔ بهکارگیری دیتابیسهای رابطهای
- نود و هفت چیزی که هر برنامهنویسی باید بداند: آشنایی با مهارتهای ارتباطی و فراگیری زبانهای خارجی
- نود و هفت چیزی که هر برنامهنویسی باید بداند: خود را با مهارت تخمین زدن تجهیز کنید!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: IDE یا Editor مسأله این است!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: ارسال پیام خطا به دولوپر توسط نرمافزار
- نود و هفت چیزی که هر برنامهنویسی باید بداند: چیزهای اضافی را لود نکنید!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: چهموقع و چگونه از راهکارهای موقتی در کدنویسی استفاده کنیم؟
- نود و هفت چیزی که هر برنامهنویسی باید بداند: استفادهٔ نادرست از اینترفیسها را غیرممکن سازید
- نود و هفت چیزی که هر برنامهنویسی باید بداند: تا حد ممکن همه چیز را شفافسازی کنید
- نود و هفت چیزی که هر برنامهنویسی باید بداند: ضرورت آشنایی با مفاهیم کانکارنسی و پاراللیزم
- نود و هفت چیزی که هر برنامهنویسی باید بداند: یافتن راهکارهای ساده برای مشکلات سخت
- نود و هفت چیزی که هر برنامهنویسی باید بداند: دولوپری که نداند Polymorphism چیست، دولوپر نیست!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: تسترهای نرمافزار دشمن دولوپرها نیستند!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: همواره یک نسخه از نرمافزار برای ریلیس داشته باشید
- نود و هفت چیزی که هر برنامهنویسی باید بداند: فقط سورسکد است که حرف اول و آخر را میزند
- نود و هفت چیزی که هر برنامهنویسی باید بداند: فقط کد نزنید بلکه Build Process را نیز مدنظر قرار دهید
- نود و هفت چیزی که هر برنامهنویسی باید بداند: اهمیت برنامهنویسی دونفره
- نود و هفت چیزی که هر برنامهنویسی باید بداند: آشنایی با تفاوت Static Typing و Dynamic Typing در برنامهنویسی
- نود و هفت چیزی که هر برنامهنویسی باید بداند: تا حد ممکن از نمایش ارورها برای کاربر اجتناب کنید!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: به چه برنامهنویسی حرفهای میگویند؟
- نود و هفت چیزی که برنامهنویسی باید بداند: از ورژن کنترل غافل نشوید!
- نود و هفت چیزی که برنامهنویسی باید بداند: ماوس و کیبورد را کنار بگذارید!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: کدخوانی کنید!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: تعاملات اجتماعی کلید موفقیت است!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: تا حد ممکن دست به اختراع مجدد چرخ نزنید!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: تا حد ممکن از Singleton Pattern استفاده نکنید
- نود و هفت چیزی که هر برنامهنویسی باید بداند: وابستگیهای زیاد دشمن ریفکتورینگ هستند!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: هرچه تعداد خطوط کد کمتر، بهتر!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: آشنایی با قانون Single Responsibility
- نود و هفت چیزی که هر برنامهنویسی باید بداند: همه چیز با یک آری شروع میشود!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: تا حد ممکن همه چیز را خودکار کنید
- نود و هفت چیزی که هر برنامهنویسی باید بداند: آشنایی با مزایای ابزارهای تحلیل سورسکد
- نود و هفت چیزی که هر برنامهنویسی باید بداند: در تست نرمافزار فقط رفتار مورد انتظار را بسنجید
- نود و هفت چیزی که هر برنامهنویسی باید بداند: تستها علاوه بر صحیح بودن، میبایست دقیق هم باشند
- نود و هفت چیزی که هر برنامهنویسی باید بداند: تست نرمافزار و سورسکد را آخر شبها و آخر هفتهها انجام دهید!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: مقایسهای مابین مهندسین نرمافزار و دیگر مهندسان
- نود و هفت چیزی که هر برنامهنویسی باید بداند: از نوشتن کدهای اضافی پرهیز کنید
- نود و هفت چیزی که هر برنامهنویسی باید بداند: اهمیت برنامهنویسی دونفره در کدنویسی را هرگز نادیده نگیرید
- نود و هفت چیزی که هر برنامهنویسی باید بداند: منفی در مفنی میشود مثبت!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: کدنویسی تمیز و اصولی یک باید است
- نود و هفت چیزی که هر برنامهنویسی باید بداند: ابزارهای یونیکسی دوست دولوپرها هستند!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: استفادهٔ درست از الگوریتمها و دیتا استراکچرها
- نود و هفت چیزی که هر برنامهنویسی باید بداند: با لاگگیری Verbose دچار دردسر خواهید شد!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: درک تفاوت مفاهیم DRY و WET در کدنویسی بهینه
- نود و هفت چیزی که هر برنامهنویسی باید بداند: تعامل مابین دولوپرها و تسترها
- نود و هفت چیزی که هر برنامهنویسی باید بداند: طوری کد بزنید که گویی قرار است تا آخر عمر سورسکدتان را ساپورت کنید!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: تا حد ممکن فانکشنهای کوچک بنویسید
- نود و هفت چیزی که هر برنامهنویسی باید بداند: برای دولوپرها تست بنویسید نه برای ماشینها!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: مراقب سورسکد باشید!
- نود و هفت چیزی که هر برنامهنویسی باید بداند: خیلی به حرفهای مشتریان اعتماد نکنید!
مخاطبین این دوره چه کسانی هستند؟
هم دولوپرهای باتجربه و حرفهای و هم دولوپرهای تازهکاری که تجربهٔ چندانی در حوزهٔ توسعهٔ نرمافزار ندارند میتوانند به عنوان مخاطبین اصلی این دورهٔ آموزشی قلمداد گردند.
باتوجه به این که دورهٔ ۹۷ چیزی که هر برنامهنویسی باید بداند برگرفته از تجربیات حرفهایترین برنامهنویسان سراسر دنیا است، برنامهنویسان حرفهای هم از آن به عنوان مرجعی برای آشنایی با چالشهای رایج در این صنعت استفاده میکنند.
علاوه بر این، دولوپرهای تازهکار نیز که مدت زمان زیادی نیست وارد این حوزه شدهاند میتوانند با گذراندن این دوره، از تجربیات برنامهنویسان حرفهای درس گرفته و در آیندهٔ کاری خود اشتباهاتی پرهزینه که سایر دولوپرها مرتکب شدهاند را تکرار نکنند.
هزینهٔ این دوره چقدر است؟
این دوره کاملاً رایگان و به صورت آنلاین برگزار میگردد.
آیا این دوره پیشنیاز خاصی دارد؟
گرچه دورهٔ برگرفته از کتاب ۹۷ چیزی که هر برنامهنویسی باید بداند دورهای تئوریک به حساب میآید، اما در عین حال تجربیات مطرح شده از زبان دولوپرهای مؤلف این کتاب گاهیاوقات مرتبط با برخی مسائل پیشرفتهٔ برنامهنویسی است و از همین روی آشنایی با مفاهیم پایهای برنامهنویسی یک مزیت محسوب میگردد. در همین راستا، توصیه میشود پیش از شروع این دوره و یا به صورت همزمان، دورهٔ آموزش اصول برنامهنویسی در سکان آکادمی را نیز بگذرانید.
پس از اتمام این دوره، چه دستاوردهای علمی به دست خواهم آورد؟
دانشجویانی که این دوره را بگذرانند، یاد خواهند گرفت که برای تبدیل شدن به یک دولوپر حرفهای، چه بایدها و نبایدهایی را میبایست دنبال نمود و چه درسهایی از تجربیات کسانی که سالها است در این حوزه فعالیت میکنند بایستی گرفت.
آیا امکان بازنشر این دوره از طریق دیگر سایتها وجود دارد؟
بر اساس قوانین سکان آکادمی، هرگونه بازنشر دورههای آموزشی این وبسایت برخلاف قوانین سکان آکادمی بوده، از لحاظ شرعی حرام و از لحاظ حقوقی قابل پیگرد قانونی است.
امکان نظردهی که برای این بخش درنظر گرفته شده است صرفاً جهت ارائهٔ نظرات پیرامون کیفیت دوره بوده و از کلیهٔ کاربران خواهشمندیم تحت هیچ عنوان به پرسیدن سؤال و یا درخواست گرفتن راهنمایی در این بخش نپردازند (لازم بهذکر است سؤالات غیرمرتبط حذف خواهند شد).