دام توجیه بازسازی کد (Refactoring)
اما من فکر میکنم خطرناکترین روشی که افراد به دام میافتند زمانی است که سعی میکنند بازسازی کد (refactoring) را بر اساس موضوعاتی مانند «کد تمیز» (Clean Code)، «تجربهی خوب و شناختهشدهی مهندسی» (Good Engineering Practice) یا دلایل اخلاقی مشابه توجیه کنند. هدف از بازسازی کد این نیست که نشان دهیم یک مخزن کد (code […]
بهترین روش بازنگری کد
چگونگی انجام بازسازی کد (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 میتوانند به عنوان فرزندی از […]