حدس نزنید، اندازه بگیرید
سیستمی که مشغول نوشتن آن برای کرایسلر بودیم خیلی کند بود. هرچند ما هنوز در مرحلهی توسعه بودیم، اما کندی سیستم باعث کندی کار میشد چون اجرای آزمونها خیلی طولانی میشد. کنت بک، مارتین فاولر و من تصمیم گرفتیم که این مشکل را حل کنیم. قبل از آنکه بتوانیم برای بررسی مساله دور هم جمع […]
بازسازی کد، کد خودآزما، یکپارچهسازی پیوسته
اگر بخش قبلی در مورد مشکلات بازسازیکد (refactoring) را خوانده باشید، احتمالاً یکی از درسهایی که یاد گرفتهاید این است که اثربخشی بازسازی کد با سایر تکنیکها و روشهایی که یک تیم استفاده میکند، ارتباط تنگاتنگی دارد. اکسپی (XP) یکی از اولین متدهای چابک بود و برای سالها رهبر تکنیکهای جدید و نوظهور چابک بود. […]
دام توجیه بازسازی کد (Refactoring)
اما من فکر میکنم خطرناکترین روشی که افراد به دام میافتند زمانی است که سعی میکنند بازسازی کد (refactoring) را بر اساس موضوعاتی مانند «کد تمیز» (Clean Code)، «تجربهی خوب و شناختهشدهی مهندسی» (Good Engineering Practice) یا دلایل اخلاقی مشابه توجیه کنند. هدف از بازسازی کد این نیست که نشان دهیم یک مخزن کد (code […]
بهترین روش بازنگری کد
چگونگی انجام بازسازی کد (Refactoring) در فرایند بازنگری کد (Code Review) بستگی به ماهیت و نوع بازنگری دارد. روش رایج و عمومیِ استفاده از Pull Request که در آن، بازنگر کد را بدون حضور برنامهنویس اصلی بررسی میکند، کارایی خوب و مناسبی ندارد. موقع بازنگری بهتر است برنامهنویس اصلی حضور داشته باشد زیرا از یک […]
نخست مرتب کنید (tidy first) (۳ و پایانی)
خُب، مرتبسازی (tidying) چیست؟ بک با شوخ طبعی همیشگیاش توضیح میدهد: «هر مرتبسازی (tidying) یک بازسازی (refactoring) کوچولو موچولوی نازنازی نادقیق است. هر مرتبسازی یک تغییر در ساختار سیستم است که تغییر در رفتار سیستم را آسانتر میکند. هر کار از نوع «نخست مرتب کنید» (tidy-first) تلاش میکند ساختارِ کد را بدون ایجاد ترس و […]
نخست مرتب کنید (tidy first) (۲)
در مورد مرتبسازی (tidying) سوال اصلی این است: “من می خواهم کدی را تغییر بدهم ولی ساختار کد به گونهای است که تغییر آن دشوار است. آیا ابتدا باید کد را مرتب کنم؟” بِک ادامه میدهد “من در مورد بازسازی (refactor) کدهای بزرگ صحبت نمیکنم. من در مورد تقسیم کدهای بزرگ و یکتکه به مایکروسرویسها(microservice) […]
برنامه ۱۲ عاملی (۱)
پیشگفتار: چندی پیش به صورت اتفاقی با مفهومی آشنا شدم با نام The Twelve-Factor App یا برنامه ۱۲ عاملی. برای من جالب آمد و بعد از گفتگو و بررسی آن در جلسات هفتگی با چند تن از دوستانم، تصمیم گرفتم که روزی آن را ترجمه نمایم. در این بین موضوع را با دوست خوبم حمید […]