مهندسی نرم‌افزار
بهترین روش بازنگری کد

چگونگی انجام بازسازی کد (Refactoring) در فرایند بازنگری کد (Code Review) بستگی به ماهیت و نوع بازنگری دارد. روش رایج و عمومیِ استفاده از Pull Request که در آن، بازنگر کد را بدون حضور برنامه‌نویس اصلی بررسی می‌کند، کارایی خوب و مناسبی ندارد. موقع بازنگری بهتر است برنامه‌نویس اصلی حضور داشته باشد زیرا از یک […]

مهندسی نرم‌افزار
کدام دسته از توسعه‌دهنگان هستید؟

به نظر شما، بر اساس روز کاری ایده‌آل‌تان، شما در کدام دسته‌ از توسعه‌دهندگان زیر قرار می‌گیرید؟ ویژگی‌های کاری و شخصی شما به کدام گروه از توسعه‌دهندگان شامل توسعه‌دهندگان اجتماعی (Social)، تنها (Lone)، متمرکز(Focused)، متعادل (Balanced)، هدف‌گرا (Goal-oriented) یا رهبر (Leading) شباهت دارد؟ گزیده: ۲۰۱۱: نرم‌افزار داره دنیا رو می‌خوره. مارک اندریسون (Marc Andreessen) ۲۰۲۲: […]

مهندسی نرم‌افزار
نخست مرتب‌ کنید (tidy first) (۳ و پایانی)

خُب، مرتب‌سازی (tidying) چیست؟ بک با شوخ طبعی همیشگی‌اش توضیح می‌دهد: «هر مرتب‌سازی (tidying) یک بازسازی (refactoring) کوچولو موچولوی نازنازی نادقیق است. هر مرتب‌سازی یک تغییر در ساختار سیستم است که تغییر در رفتار سیستم را آسان‌تر می‌کند. هر کار از نوع «نخست‌ مرتب‌‌ کنید» (tidy-first) تلاش می‌کند ساختارِ کد را بدون ایجاد ترس و […]

مهندسی نرم‌افزار
نخست مرتب‌ کنید (tidy first) (۲)

در مورد مرتب‌سازی (tidying) سوال اصلی این است: “من می خواهم کدی را تغییر بدهم ولی ساختار کد به گونه‌ای است که تغییر آن دشوار است. آیا ابتدا باید کد را مرتب کنم؟” بِک ادامه می‌دهد “من در مورد بازسازی‌ (refactor) کدهای بزرگ صحبت نمی‌کنم. من در مورد تقسیم کدهای بزرگ و یک‌تکه به مایکروسرویس‌ها(microservice) […]

مهندسی نرم‌افزار
نخست مرتب‌ کنید (tidy first) (۱)

پیش‌گفتار: مدت‌هاست که می‌خواستم درباره‌ی Tidy First (با تلفظ تایدی) مطلبی بنویسم و این نگرش زیبا و جالب‌توجه را به دوستان عزیزم و خوانندگان وبلاگ معرفی کنم. با این‌که مدت‌هاست آن را دنبال می‌کنم ولی بخت و اقبال در راه ترجمه‌ی آن با من یار نبود. خوش اقبال بودم که حمید آقای عزیزم کمک کرد […]

مهندسی نرم‌افزار
برنامه ۱۲ عاملی (۹)- عامل هشتم: همروندی

عامل ۸- همروندی (Concurrency) برنامه را از طریق مدل پردازش (process model) مقیاس‌پذیر و بزرگ کنید هر برنامه کامپیوتری پس از اجرا با یک یا چند پردازش (process) در سیستم عامل نمایش داده می‌شود. برنامه‌های وب شکل‌های مختلفی برای اجرای پردازش پیدا کرده‌اند. به عنوان مثال پردازش‌ها یا برنامه‌های PHP می‌توانند به عنوان فرزندی از […]

مهندسی نرم‌افزار
برنامه ۱۲ عاملی (۸)- عامل هفتم: اتصال به پورت

عامل ۷-سرویس‌ها را از طریق اتصال به پورت (port binding) در اختیار استفاده‌کنندگان بیرونی‌ قرار دهید [ مترجم؛ برگردان Port به فارسی درگاه است ولی در این متن همان واژ‌ه‌ی پورت استفاده شده است.] گاهی برنامه‌های وب در داخل یک کانتینر سرویس‌دهنده‌ وب (web-server container) اجرا می‌شوند. برای مثال، برنامه‌های PHP می‌توانند به عنوان یک […]