کتاب برنامهنویس عملگرا: نخستین گام به سوی اندیشه حرفهای
اندرو هانت و دیوید توماس در کتاب برنامهنویس عملگرا: نخستین گام به سوی اندیشه حرفهای، به بررسی رفتار و طرز تفکر برنامهنویسها پرداختهاند.
کتاب برنامهنویس عملگرا (The Pragmatic Programmer: From Journeyman to Master) ذهنیت و زیرساخت فکری ما را به چالش میکشد. ما را با بنیاد تفکر «عملگرا» آشنا میکند: به ما میگوید، چگونه فکر کنیم تا از کارمان لذت ببریم و سرنوشت زندگی حرفهایمان را به دست خودمان رقم بزنیم و پلهپله تعالی پیدا کنیم. این کتاب در فضای مجازی در فهرست «کتابهایی که هر مهندس نرمافزار باید بخواند» The must read books for SE قرار دارد.
اندرو هانت (Andrew Hunt) و دیوید توماس (David Thomas) در این کتاب، نه به تعریفهای کلیشهای مهندسی پرداختهاند و نه سعی دارند که آن را به شکلی جدید تعریف کنند. آنچه در این کتاب میخوانیم، مهمترین اصول و قواعد تولید نرمافزار است.
وجه تمایز کتاب برنامهنویس عملگرا با دیگر کتابها، مثالهای واقعی است که تجربهٔ عملی نویسندگان را به ما منتقل میکند. برنامهنویسها باید مسیری طولانی را طی کنند تا چنین تجربهای را به چنگ آورند. در این کتاب، نویسندهها از واقعیتهایی حرف میزنند که خودشان در دل توسعۀ نرمافزار تجربه کردهاند.
در بخشی از کتاب برنامهنویس عملگرا میخوانیم:
چگونه بازسازی میکنید؟
در اصل، بازسازی همان باز طراحی است. هر چیزی را که شما یا همکارانتان طراحی کردهاید، میتوان از منظری دیگر، با درک عمیقتر، تغییر نیازمندیها و... باز طراحی کرد. اگر با عجله و بدون تأمل بخشهایی از کد را تغییر دهید، خواهید دید که در پایان، کد وضعیت بدتری پیدا کرده است.
بازسازی، فعالیتی است که نیاز دارد با دقت، از روی آگاهی و به آهستگی انجام شود. مارتین فاولر نکات زیر را پیشنهاد میدهد تا از وارد شدن آسیبهای بیشتر به کد جلوگیری شود:
1. سعی نکنید که بازسازی و اضافه کردن توانایی و کارکردهای جدید را همزمان انجام دهید.
2. پیش از شروع، مطمئن شوید که آزمونهای مناسبی در اختیار دارید. تا جایی که امکان دارد آنها را انجام دهید. به این شیوه به محض اینکه چیزی را خراب کنید از آن مطلع میشوید.
3. گامهای کوتاهِ آگاهانه بردارید؛ فیلدی از یک کلاس را به کلاس دیگر انتقال دهید، دو تابع مشابه در دو کلاس را در کلاس والد درهم ادغام کنید. بازسازی اغلب اوقات، شامل تغییرها محدود محلی است که نهایتاً، منجر به تغییر در مقیاس بزرگتر میشود. اگر گامهایتان را کوچک بردارید و پس از هر گام، کد را بیازمایید، دیگر لازم نخواهد بود که اشکالزداییهای طولانی مدتی انجام دهید.
فهرست مطالب
مقدمه
مقدمۀ مؤلف
چه چیزی یک برنامهنویس را عملگرا میکند؟
عملگرایی تکی در مقابل کار تیمی
برنامهنویسی عملگرا یک فرایند ادامهدار است
ساختار کتاب
چه معنایی در یک اسم نهفته است
فصل اول: یک فلسفه کاربردی
گربه کدهایم را خورده
آشفتگی نرمافزاری
سوپ سنگ و قورباغه و آب جوش
نرمافزارِ به اندازۀ کافی خوب
سبد سهام دانش
با دیگران ارتباط داشته باشید!
فصل دوم: یک رویکرد کاربردی
زیانهای تکرار
خاصیت تعامد
برگشتپذیری
تیرهای ردیاب
نمونهها و یادداشتهای چسبان
زبانهای دامنه
برآورد
فصل سوم: ابزارهای پایه
قدرت متن خوانا
بازی با شِل
امکانات ویرایشگر
مدیریت کد منبع
اشکالزدایی
دستکاری متن
تولیدکنندههای کد
فصل چهارم: جنون عملگرایی
طراحی براساس قرارداد
برنامههای مرده دروغ نمیگویند
برنامهنویسی ادعایی
کِی از استثنا استفاده کنیم
چگونه میان منابع سیستم تعادل برقرار کنیم
شیءها و استثنا
متعادلسازی و استثناها
چههنگام نمیتوانید منابع سامانه را متعادل کنید
بررسی تعادل منابع
فصل پنجم: یا انعطاف داشته باشید یا بشکنید
کاهش وابستگی و قانون دِمیتر
برنامهنویسی خودآرا
جفتسازی زمانی
شکل ارتباط
تختهسیاهها
فصل ششم: هنگام کدنویسی
برنامهنویسی اتفاقی
سرعت الگوریتم
بازسازی نرمافزار
کدی که آزمودن آن آسان است
چوبهای جادوی مخرب
فصل هفتم: پیش از شروع پروژه
چاه نیازمندیها
حل معماهای غیرممکن
نه تا زمانیکه آماده هستید
تلۀ توصیف خصوصیات
دایرهها و فلشها
فصل هشتم: پروژههای عملگرا
تیمهای عملگرا
خودکارسازی فراگیر
آزمودن بیرحمانه
نوشتن را سخت نگیرید
انتظارهای بزرگ
غرور و تعصب
فهرست واژگان فارسی به انگلیسی
مطالب مرتبط
تگها
مطالب پربیننده
- چه کسانی می توانند نامخانوادگیشان را تغییر دهند
- روزانه چقدر پروتئین مصرف کنیم؟
- خواص شگفتانگیز کیوی را بشناسید
- فراخوان دومين كنگره بين المللی راهكارهای گسترش فرهنگ غدير و ترويج نهج البلاغه
- ۳ نوشیدنی مفید برای سالمندان
- نکاتی مهم درباره جوشهای صورت
- علائم بیش فعالی در دخترها و پسرها را بشناسید
- میوه ای برای تقویت سیستم ایمنی بدن
- گیاهی برای دفع سنگ کلیه
- اربعین؛ پلی به سوی وحدت جهانی
- چالشهای ازدواج در دوران پیری
- اذن پدر برای ازدواج دختر لازم است یا خیر؟
- معرفی سوغات و صنایع دستی مازندران
- چگونه عطر مناسب بخریم؟
- زندگی نامه مسعود پزشکیان
- رابطه زناشویی برنده و بازنده ندارد
- درباره دوران بحرانی نوجوانی
- بازار کرمان با قدمت ۶۰۰ سال
- معرفی موزه هنرهای معاصر تهران؛ بازتابی از هنر ایران و جهان
- مصرفگرایی و ویرانی زندگی
- پاسخ به سوالات رایج درباره مصرف شیر
- معرفی جنگل فندقلو؛ بهشتی مینیاتوری در اردبیل
- درباره سن پیری بیشتر بدانیم
- اهمیت خواب را جدی بگیرید
- معرفی مسجد شیخ لطف الله، اثری شگفت انگیز از دوران صفویه
- پناهگاه سکوت
- نحوه خوابیدن به خواستههای درونی
- مضرات سیگار از آسیبهای پوستی تا تهدید سلامتی
- در مورد کف پای صاف و باورهای قدیمی
- چگونه با کودکان چاق تعامل داشته باشیم
- قوانین کلاس و مدرسه
- قالب آماده و زیبای پاورپوینت(15)
- ۵ فیلم که همه زنان ایرانی باید تماشا کنند
- شعار سال ۱۴۰۱ «سال تولید، دانشبنیان و اشتغالآفرین»
- قالب زیبای پاورپوینت برای ارائه پروپوزال و دفاع رساله دکترا
- قالب پاورپوینت کادر دار زیبا
- پورنوگرافی چیست و چه اثری بر مغز و رابطه جنسی دارد؟
- قالب پاورپوینت گرافیکی و طرح دار زیبا
- قالب پاورپوینت گرافیکی زیبا
- رنگ چشم هایتان درباره شما و اجدادتان چه می گوید؟
- نمونه تدریس درس اول هدیه آسمان پنجم
- قالب پاورپوینت گرافیکی جالب
- اندکی درباره درسپژوهی
- کتاب پسری که جادویی شد
- همه زائران سلطان
- قالب پاورپوینت
- معرفی کتاب
- دوستی با کتاب
- قالب پاورپوینت گرافیکی
- درباره محسن رضایی
- معرفی کتاب
- قیافه و ظاهر واسه متولدین کدوم ماه، خیلی مهمه؟
- درباره امیر کبیر
- کتاب راهنمای کامل Interaction access
- متن کامل دعای جوشن کبیر با ترجمه
- کتاب پیوند زخم خورده
- درباره فخرالدین عراقی
- درباره محسن مهر علیزاده
- کتاب آموزش علیه آموزش
- خلاصه کتاب سواد بصری