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