کتاب کدنویسی تمیز در پایتون نوشتهی ماریانو آنایا، ویژگیهای این زبان برنامهنویسی کاربردی را معرفی میکند و تکنیکهای کدنویسی صحیح در آن را میآموزد. این راهنما که هم برای کدنویسان تازهکار و هم برای حرفهایها مناسب است، ابزارهای مهم و اصلی پایتون را مرور میکند، تأثیر آرایشدهندهها و توصیفگرها در بهبود کیفیت و خوانایی کد را توضیح میدهد و از الگوهای طراحی پرکاربرد و برنامهنویسی ناهمگام در آن میگوید.
دربارهی کتاب کدنویسی تمیز در پایتون
یکی از مهارتهای مهم در برنامهنویسی و از دلایل اصلی موفقیت یک پروژهی نرمافزاری، نوشتن کدهای تمیز و مرتب است. به این معنا که کدها به شکلی واضح و درست نوشته شوند تا خطاهای فنی و اشتباهات به حداقل برسند. تجربه نشان داده کد شلخته و در هم باعث میشود نرخ خطا بالاتر برود، زمان حل مشکل و عیبیابی طولانیتر شود و بهتبع آن نیروی انسانی افزایش یابد. در نتیجه هزینهای سرسامآور به سازمان تحمیل خواهد شد و بهرهوری را کاهش خواهد داد. بنابراین خیلی مهم است که مهندسین از همان گام اول کارشان را درست و تمیز انجام دهند. اما کدنویسی به این شکل نیاز به مهارت دارد و اصول آن باید آموخته شود. کتاب کدنویسی تمیز در پایتون (Clean Code in Python) نوشتهی ماریانو آنایا (Mariano Anaya) تلاش دارد همین مهارت را در زبان برنامهنویسی پایتون آموزش دهد. این کتاب که از سطح ابتدایی تا پیشرفته را در برمیگیرد، ابتدا خود پایتون را معرفی میکند و ویژگیهای آن را توضیح میدهد. پسازآن بهمرور به سراغ مفاهیم پیچیدهتر و پیشرفتهتر میرود و آنها تشریح میکند. آنایا در این راهنما به تکنیکهای کدنویسی خوانا در پایتون اشاره میکند و نشان میدهد که چطور میتوان این کار را انجام داد.
پایتون زبانی کاربردی و به نسبت ساده بهحساب میآید. معروف است که میتوان تمام قواعد و اصول آن را ظرف یک عصر یاد گرفت. اما کدنویسی در آن، مخصوصاً نوشتن کدهایی درست در آن نیاز به تمرین بیشتری دارد. ماریانو آنایا کتاب کدنویسی تمیز در پایتون را به همین موضوع اختصاص داده و تلاش کرده با مثالها و تمرینهای متعدد آن را توضیح دهد. او کتابش را در ده فصل تدوین کرده است: نویسنده در فصل اول به مبانی اولیهی پایتون پرداخته و اصولی همچون مستندسازی و بازرسی و قالببندی کد را شرح داده. او در فصل بعدی به ویژگیهای کد پایتونی اشاره میکند و در مورد کیفیت آن حرف میزند. آنایا در ادامه مسألهی کدنویسی تمیز را پیش میکشد و پیادهسازی ایدههای آن در پایتون را میآموزد.
بخش بعدی این کتاب SOLID نام دارد و اصول طراحی نرمافزار شیءگرا را موردبحث قرار میدهد. این تکنیک نشان میدهد که چطور میتوان قابلیت نگهداری کد در پایتون را بهبود داد. فصول بعدی به دو ویژگی بزرگ زبان پایتون، یعنی آرایشدهندهها و توصیفگرها اختصاص مییابد و از این میگوید که چطور باعث خوانایی کدها در پایتون خواهند شد. در ادامه نیز بر روی برنامهنویسی ناهمگام متمرکز میشود و آن را آموزش میدهد. بخشهای پایانی نیز در مورد اهمیت تست کردن و الگوهای مشترک طراحی است و نکاتی دربارهی هر یک بیان میگردد. در فصل نهایی هم ایدهی معماری تمیز مطرح شده و کمی در مورد فلسفهی آن صحبت میشود.
کتاب کدنویسی تمیز در پایتون را ارجاسب محمدی و علیرضا کشاورز باحقیقت ترجمه کردهاند و انتشارات نبض دانش آن را منتشر کرده است.
کتاب کدنویسی تمیز در پایتون برای چه کسانی مناسب است؟
این کتاب راهنما به برنامهنویسان حرفهای و علاقهمندان به زبان برنامهنویسی پایتون پیشنهاد میشود.
در بخشی از کتاب کدنویسی تمیز در پایتون میخوانیم
برنامهنویسی ناهمگام، ارتباطی با کد تمیز ندارد. از اینرو، ویژگیهایی از پایتون که در این بخش ذکر میشوند، تاثیری در قابلیت نگهداری پایگاه کد ندارند. در این بخش، با نحو پایتون برای کار با روتینهای همروند (coroutines)، آشنا میشویم چونکه برای خوانندگان قابل استفاده بوده و مثالهایی از روتینهای همروند بعدا در کتاب ارائه خواهد شد. ایده برنامهنویسی ناهمگام، آنست که بخشهایی از کد (در صورت امکان) موقتا متوقف شده تا بخشهای دیگری از کد، اجرا شوند. بطور نمونه وقتی در حال اجرای دستورات ورودی/خروجی هستیم، میتوانیم از پردازنده برای انجام کارهای دیگر استفاده کنیم.
این مسئله، مدل برنامهنویسی را تغییر میدهد. به جای فراخوانی همگام (سنکرون)، کدهایمان را بصورتی مینویسیم که توسط حلقه رویداد، فراخوانی شوند. حلقه رویداد، مسئول زمانبندی روتینهای همروند برای اجرای همه آنها در یک فرایند و نخ میباشد. ایده آنست که مجموعه روتینهای همروندی بسازیم و آنها را به حلقه رویداد اضافه کنیم. وقتی حلقه رویداد شروع به کار میکند، روتینها را دریافت کرده و آنها را برای اجرا، زمانبندی میکند. در نقطه از زمان، وقتی یکی از روتینهای ما، نیاز به انجام عملیات ورودی/خروجی داشته باشد، میتوانیم حلقه را باخبر ساخته تا مجددا کنترل را بدست گرفته و روتین دیگری در حین اجرای عملیات، زمانبندی کند. دوباره پس از مدتی، حلقه رویداد، به روتینهای متوقف شده بر میگردد و اجرای آنها را از سر میگیرد. بیاد داشته باشید که مزیت برنامهنویسی ناهمگام، عدم مسدودسازی پردازنده در زمان انجام عملیات ورودی/خروجی است. یعنی، در حالی که عملیات ورودی/خروجی در حال انجام بوده، به قسمت دیگری از کد پرش انجام شده و دوباره به قسمت قبلی برمیگردد، پس این امر بدان معنا نیست که همزمان، چندین فرایند اجرا میشود. این مدل اجرا، تک-نخ محسوب میشود.
بله



























