0

دانلود کتاب طراحی نرم‌افزار برای برنامه‌نویسان پایتون: اصول و الگوها

بازدید 137
  • عنوان کتاب: Software Design for Python Programmers Principles and patterns
  • نویسنده: Ronald Mak
  • حوزه: برنامه‌نویسی پایتون
  • سال انتشار: 2026
  • تعداد صفحه: 458
  • زبان اصلی: انگلیسی
  • نوع فایل: pdf
  • حجم فایل: 2.54 مگابایت

من این کتاب را نوشتم تا آنچه را که از دهه‌ها توسعه و تدریس حرفه‌ای نرم‌افزار آموخته‌ام، به دیگران منتقل کنم. من تمام دوران بزرگسالی‌ام را در سیلیکون ولی تحصیل، زندگی، کار و تدریس کرده‌ام. من در شرکت‌های کامپیوتری معتبری مانند سان میکروسیستمز و اپل و همچنین در چندین استارتاپ، سمت‌های ارشد مهندسی داشته‌ام. من در IBM Research (تحلیل داده‌ها در مورد علل چاقی)، آزمایشگاه ملی لارنس لیورمور (نرم‌افزار سازمانی برای NIF، پروژه انرژی همجوشی تأسیسات ملی احتراق) و ناسا (کد مدیریت داده‌ها برای مریخ‌نوردها و فضاپیمای اوریون) نرم‌افزار پیشرفته‌ای توسعه داده‌ام. من در چندین دانشگاه، از جمله دانشگاه ایالتی سن خوزه، که در آن کلاس‌هایی در بخش‌های علوم کامپیوتر، مهندسی کامپیوتر و علوم داده‌های کاربردی تدریس می‌کنم، توسعه نرم‌افزار را در مقاطع کارشناسی و کارشناسی ارشد تدریس کرده‌ام. کار با دانشجویان و دیگر برنامه‌نویسان مبتدی به من آموخته است که تمرین طراحی خوب نرم‌افزار قبل از ایجاد عادت‌های بد مهم است. ما به عنوان دانشجو، ناخواسته یاد می‌گیریم که «اجرا و تمام» کنیم: به محض اینکه یک تکلیف برنامه با موفقیت اجرا شود، تمام شده است! بعد از اینکه آن را تحویل دادیم، ممکن است دیگر هرگز آن را نبینیم، بنابراین مفاهیم طراحی خوب مانند قابلیت نگهداری بی‌اهمیت هستند. برای داشتن یک حرفه موفق به عنوان یک توسعه‌دهنده نرم‌افزار حرفه‌ای، باید این طرز فکر را کنار بگذاریم. من به خوبی از فشارهایی که برای انجام یک برنامه در زمان مقرر و با بودجه کمتر وجود دارد، آگاه هستم. بنابراین، من یک رویکرد تکراری و افزایشی به توسعه نرم‌افزار آموزش می‌دهم. اگر به دلیل مهلت نزدیک نتوانیم به آخرین تکرار برسیم و محصول را تکمیل کنیم، می‌خواهیم نتایج تکرار بعدی (یا تکرار بعدی به آخرین تکرار) یک محصول با حداقل قابلیت دوام (MVP) تولید کند. برنامه‌های خوب طراحی شده در واقع می‌توانند زمان کمتری برای توسعه نیاز داشته باشند. امیدوارم نسخه بعدی برنامه منتشر شود تا مشکلات طراحی برطرف شود و ویژگی‌های بیشتری اضافه شود.

I wrote this book to pass on what I’ve learned from decades of professional software development and teaching. I’ve studied, lived, worked, and taught in Silicon Valley my entire adult life. I’ve held senior engineering positions at established computer companies such as Sun Microsystems and Apple, and also at several startups. I’ve developed advanced software at IBM Research (data analytics regarding the causes of obesity), Lawrence Livermore National Laboratory (enterprise software for NIF, the National Ignition Facility fusion energy project), and NASA (data management code for the Mars rovers and the Orion spacecraft). I’ve taught software development at both the undergraduate and graduate levels at several universities, including San José State University, where I teach classes in the Computer Science, Computer Engineering, and Applied Data Science departments. Working with students and other beginning programmers has taught me that it’s important to practice good software design before bad habits set in. As students, we inadvertently learn “run and done”: as soon as a program assignment runs successfully, it’s done! After we turn it in, we may never have to see it again, so good design concepts such as maintainability are immaterial. We must unlearn that mentality to have a successful career as a professional software developer. I am well aware of the pressures to get an application done on time and under budget. Therefore, I teach an iterative, incremental approach to software development. If we can’t reach the last iteration and complete the product due to an upcoming deadline, we want the results of the next-to-last iteration (or the next-to-next-to-last iteration) to produce a minimum viable product (MVP). Well-designed applications can actually take less time to develop. Hopefully there will be the next release of the application to clean up design problems and add more features.

این کتاب را میتوانید از لینک زیر بصورت رایگان دانلود کنید:

Download: Software Design for Python Programmers

نظرات کاربران

  •  چنانچه دیدگاه شما توهین آمیز باشد تایید نخواهد شد.
  •  چنانچه دیدگاه شما جنبه تبلیغاتی داشته باشد تایید نخواهد شد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

X