چگونه برنامهنویس خوبی شوم
پرسش: چه چیزی از یک برنامهنویس، یک برنامهنویس «خوب» میسازه؟ کنت بک: پاسخ این پرسش راحته. «خودت باش» (Be Yourself). تنها یه بازی [چالش] در کل دنیا وجود داره و اون هم اینه:«تمام تلاشت رو بکن» (Do Your Best). ورزش، کار، روابط انسانی فقط سایههایی از همین «یه بازی»اند. برنامهنویسی هم همین طور. سوال اینه […]
برنامه نویس کاردرست
اگه از من بپرسید برنامهنویس کاردرست کیست خواهم گفت «برنامهنویس خوبی که عادتهای ممتازی دارد». این جمله برگرفته از سخن کنت بک (Kent Beck) دربارهی خودش است: «من برنامهنویس ممتازی نیستم. من برنامهنویس خوبی هستم که عادتهای ممتازی دارم» “I’m not a great programmer; I’m just a good programmer with great habits.” برای من این […]
پیشنهاد کتاب: معماری نرمافزار
پیشگفتار:زمانی که ما مدرسه میرفتیم منابع یادگیری که مهمترین آن کتاب بود بسیار محدود بود. یادم میآید مادرم از پسانداز خانواده مبلغی که در آن زمان و با آن شرایط، مبلغ واقعن زیادی بود به من داد تا با آن کتاب بخرم. من هم مجموعهی چند جلدی «به من بگو چرا« را از طریق پست […]
پوستهی بیشتر – تخممرغ کمتر
جان بنتلی (Jon Bentley) که ستونی با نام Programming Pearls در نشریه Communications of the ACM داشت در سال ۱۹۸۶ به برنامهنویسی ادیبانه (literate programming) علاقهمند شد و از دونالد کنوث (Donald Knuth) خواست تا به عنوان نویسندهی مهمان برنامهای با این شیوه بنویسد و از داگ مکلروی (Doug McIlroy) هم خواست نقدی بر برنامهنویسی […]
دنبال چه میگردی! (طراحی)
سخنران در ابتدای سخنرانیاش گفت: یکی از کارهای من انجام مصاحبهی فنی است. کاری که خیلی دوست دارم. …. و یکی از پرسشهای مورد علاقهام در جلسهی مصاحبه این است: در یک طراحی خوب، شما دنبال چه میگردید؟ [شما چه ویژگیها و معیارهایی را هنگام ارزیابی و سنجش کیفیت یک طراحی مد نظر قرار میدهید؟] […]
تیدیدی (TDD) عامل چنددستگی در جامعهی برنامهنویسان
در نوشتهای در لینکدین، نویسنده با اشاره به TDD نوشته بود که: تیدیدی (TDD) به صورت جدی، جامعهی برنامهنویسی را دچار دودستگی کرده است. گروهی عاشق آن هستند و گروهی هم از آن متنفرند. کنت بک(Kent Beck) طی یادداشتی، نظرش را در این مورد بیان کرد که برای من بسیار آموزنده بود. او در پاسخ […]
بازسازی کد: بار دوم یا بار سوم
آیا تا به حال موقع نوشتن کد با این شرایط رو به رو شدهاید که متوجه شوید مشابه این کار را قبلا انجام دادهاید؟ در چنین شرایطی چه میکنید؟ آیا برمیگردید و کد قبلی را نیز اصلاح میکنید؟ یا بدون به توجه به کد قبلی، کد جدید را مینویسید؟ (احتمالا نتیجه چنین کاری، کد تکراری […]