بازسازی کد: بار دوم یا بار سوم 28 خرداد 1402
آیا تا به حال موقع نوشتن کد با این شرایط رو به رو شدهاید که متوجه شوید مشابه این کار را قبلا انجام دادهاید؟ در چنین شرایطی چه میکنید؟ آیا برمیگردید و کد قبلی را نیز اصلاح میکنید؟ یا بدون به توجه به کد قبلی، کد جدید را مینویسید؟ (احتمالا نتیجه چنین کاری، کد تکراری […]
بازسازی کد: ارزش کد خودآزما (Self-testing code) 16 اسفند 1401
بازسازی کد ابزار ارزشمندی است، اما نمیتواند به تنهایی مفید باشد. برای انجام درست بازسازی کد، به مجموعهای یکپارچه و قابل اتکا از تستها نیاز دارم تا بتوانم اشتباهات اجتنابناپذیر خود را پیدا کنم. حتی با وجود ابزارهای بازسازی خودکار کد، ناچارم بسیاری از بازسازیهای کد را همچنان از طریق مجموعهای از تستها (test suite) […]
توصیههای ChatGPT به توسعهدهندگان نرمافزار 30 بهمن 1401
مکالمهی کوتاهم با ChatGPT را در اینجا آوردهام با این هدف که برای خوانندگان عزیزم مفید باشد. میتونید لطفا خودتون رو معرفی کنید؟ من ChatGPT هستم. من یک دستیار مجازیام که از روی مدل پردازش زبان طبیعی شرکت OpenAI ساخته شدهام. من طراحی شدهام تا طیف گستردهای از پرسشها و درخواستها به زبان طبیعی را […]
بازسازی کد: نامهای اسرارآمیز 29 بهمن 1401
اگر مشغول خواندن یک رمان پلیسی باشید، اتفاق خوشایندی است که مجبور شوید تمام فکر و حواستان را روی بخشی از کتاب متمرکز کنید تا بفهمید چه اتفاقی دارد میافتد. اما موقعی که مشغول خواندن کدی هستید، چنین اتفاقی اصلا خوشایند نیست. ممکن است در مورد خودتان تصور کنید که شما هم یکی از اعضای […]
حدس نزنید، اندازه بگیرید 16 بهمن 1401
سیستمی که مشغول نوشتن آن برای کرایسلر بودیم خیلی کند بود. هرچند ما هنوز در مرحلهی توسعه بودیم، اما کندی سیستم باعث کندی کار میشد چون اجرای آزمونها خیلی طولانی میشد. کنت بک، مارتین فاولر و من تصمیم گرفتیم که این مشکل را حل کنیم. قبل از آنکه بتوانیم برای بررسی مساله دور هم جمع […]
بازسازی کد، کد خودآزما، یکپارچهسازی پیوسته 4 بهمن 1401
اگر بخش قبلی در مورد مشکلات بازسازیکد (refactoring) را خوانده باشید، احتمالاً یکی از درسهایی که یاد گرفتهاید این است که اثربخشی بازسازی کد با سایر تکنیکها و روشهایی که یک تیم استفاده میکند، ارتباط تنگاتنگی دارد. اکسپی (XP) یکی از اولین متدهای چابک بود و برای سالها رهبر تکنیکهای جدید و نوظهور چابک بود. […]
دام توجیه بازسازی کد (Refactoring) 28 دی 1401
اما من فکر میکنم خطرناکترین روشی که افراد به دام میافتند زمانی است که سعی میکنند بازسازی کد (refactoring) را بر اساس موضوعاتی مانند «کد تمیز» (Clean Code)، «تجربهی خوب و شناختهشدهی مهندسی» (Good Engineering Practice) یا دلایل اخلاقی مشابه توجیه کنند. هدف از بازسازی کد این نیست که نشان دهیم یک مخزن کد (code […]
