داستانک گورخر و Classification!
یکی از موضوعات مهم در دنیای نرمافزار، «انتزاع» (abstraction) است. یکی از معضلات انتزاع نیز موضوع «طبقهبندی» (classification) است. هنگام آموزش این مبحث در دورهها، یادی هم از «عمو شل» عزیز و داستان «گورخر» میکنم. دیروز هم یکی از این روزها بود. این یادداشت را اینجا نوشتم تا برای فرستادن این داستانک زیبا برای عزیزانم، […]
Beautiful Design and Code Workshop – Part I
پیشگفتار: مدتها بود که دوست داشتم دورهای دربارهی طراحی و برنامهنویسی برگزار کنم. مسئولیتهای شغلی و خانوادگی مجالی برای آن نمیگذاشت. رو به رو شدن با دوستان طراح و برنامهنویس و گفتگو با آنها عطش مرا برای این کار دو چندان میکرد. دستکم دوست داشتم بخشی از تجربهها و آموختههایم را به عزیزانم منتقل کنم. […]
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)
این موضوع، عنوان مقالهای از مارتین فاولر به سال ۲۰۰۴ است. مشغول بررسی مطلبی بودم که آن را مجدداً خواندم. در اصل این مقاله همان طور که خود فاولر ذکر کرده، به بررسی نقدی که به روس اکس-پی وارد شده پرداخته است. هر چند که این بررسی بسیار آموزنده و مفید است، اما بخش اول […]
روزی روزگاری مهندس نرمافزار خوبی بود که …
کتاب Object-Oriented Reengineering Patterns از Serge Demeyer, Stéphane Ducasse and Oscar Nierstrasz در نوع خود کتاب جالبی است. در مقدمه این کتاب داستان خیالی را تعریف شده و پس از آن دیدگاه نویسندگان آن در مورد مهندسی نرمافزار بیان شده است. آوردن مقدمه کتاب از آن جهت مفید دانستم که در آن به چند مورد […]