Beautiful Design and Code ۱۸ شهریور ۱۳۹۵
داستانک گورخر و Classification!

یکی از موضوعات مهم در دنیای نرم‌افزار، «انتزاع» (abstraction) است. یکی از معضلات انتزاع نیز موضوع «طبقه‌بندی» (classification) است. هنگام آموزش این مبحث در دوره‌ها، یادی هم از «عمو شل» عزیز و داستان «گورخر» می‌کنم. دیروز هم یکی از این روزها بود. این یادداشت را اینجا نوشتم تا برای فرستادن این داستانک زیبا برای عزیزانم، […]

Beautiful Design and Code ۱۴ شهریور ۱۳۹۵
Beautiful Design and Code Workshop – Part I

پیش‌گفتار: مدت‌ها بود که دوست داشتم دوره‌ای درباره‌ی طراحی و برنامه‌نویسی برگزار کنم. مسئولیت‌های شغلی و خانوادگی مجالی برای آن نمی‌گذاشت. رو به رو شدن با دوستان طراح و برنامه‌نویس و گفتگو با آنها عطش‌ مرا برای این کار دو چندان می‌کرد. دست‌کم دوست داشتم بخشی از تجربه‌ها و آموخته‌هایم را به عزیزانم منتقل کنم. […]

چابک Agile ۲۷ فروردین ۱۳۹۵
Technical Debt: From Metaphor to Theory and Practice

Introduction The metaphor of technical debt in software development was introduced two decades ago by Ward Cunningham to explain to nontechnical product stakeholders the need for what we call now “refactoring.” It has been refined and expanded since, notably by Steve McConnell in his taxonomy, Martin Fowler with his four quadrants, and Jim Highsmith and […]

مهندسی نرم‌افزار ۵ تیر ۱۳۸۶
آیا طراحی فنا شده است؟ (Is Design Dead)

این موضوع، عنوان مقاله‏ای از مارتین فاولر به سال ۲۰۰۴ است. مشغول بررسی مطلبی بودم که آن را مجدداً خواندم. در اصل این مقاله همان طور که خود فاولر ذکر کرده، به بررسی نقدی که به روس اکس-پی وارد شده پرداخته است. هر چند که این بررسی بسیار آموزنده و مفید است، اما بخش اول […]

Beautiful Design and Code ۶ اسفند ۱۳۸۵
روزی روزگاری مهندس نرم‏افزار خوبی بود که …

کتاب Object-Oriented Reengineering Patterns از Serge Demeyer, Stéphane Ducasse and Oscar Nierstrasz در نوع خود کتاب جالبی است. در مقدمه این کتاب داستان خیالی را تعریف شده و پس از آن دیدگاه نویسندگان آن در مورد مهندسی نرم‏افزار بیان شده است. آوردن مقدمه کتاب از آن جهت مفید دانستم که در آن به چند مورد […]