مهندسی نرم‌افزار
چگونه برنامه‌نویس خوبی شوم

پرسش: چه چیزی از یک برنامه‌نویس، یک برنامه‌نویس «خوب» می‌سازه؟ کنت بک: پاسخ این پرسش راحته. «خودت باش» (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) طی یادداشتی، نظرش را در این مورد بیان کرد که برای من بسیار آموزنده بود. او در پاسخ […]