phind
در این نوشته میخواهم جستجوگر Phind را که به تازگی از طریق یکی از دوستان عزیز با آن آشنا شدهام به شما معرفی کنم. تلفظ آن شبیه به واژهی Find (فایند) است. این جستجوگر بر اساس هوش مصنوعی و بر اساس اطلاعات مستقیم اینترنت به پرسشهای کاربر پاسخ میدهد. نکته مهم دربارهی آن این است […]
توصیهی فرانسوا شوله به برنامهنویسان
In programming, you constantly run into situations where you have a choice between “make it work right now with this quick hack” or “do it right”. And it’s always very satisfying to do things right. Saves you time, too 🙂 François Chollet, Creator of Keras
بازسازی کد: ارزش کد خودآزما (Self-testing code)
بازسازی کد ابزار ارزشمندی است، اما نمیتواند به تنهایی مفید باشد. برای انجام درست بازسازی کد، به مجموعهای یکپارچه و قابل اتکا از تستها نیاز دارم تا بتوانم اشتباهات اجتنابناپذیر خود را پیدا کنم. حتی با وجود ابزارهای بازسازی خودکار کد، ناچارم بسیاری از بازسازیهای کد را همچنان از طریق مجموعهای از تستها (test suite) […]
بازسازی کد: نامهای اسرارآمیز
اگر مشغول خواندن یک رمان پلیسی باشید، اتفاق خوشایندی است که مجبور شوید تمام فکر و حواستان را روی بخشی از کتاب متمرکز کنید تا بفهمید چه اتفاقی دارد میافتد. اما موقعی که مشغول خواندن کدی هستید، چنین اتفاقی اصلا خوشایند نیست. ممکن است در مورد خودتان تصور کنید که شما هم یکی از اعضای […]
حدس نزنید، اندازه بگیرید
سیستمی که مشغول نوشتن آن برای کرایسلر بودیم خیلی کند بود. هرچند ما هنوز در مرحلهی توسعه بودیم، اما کندی سیستم باعث کندی کار میشد چون اجرای آزمونها خیلی طولانی میشد. کنت بک، مارتین فاولر و من تصمیم گرفتیم که این مشکل را حل کنیم. قبل از آنکه بتوانیم برای بررسی مساله دور هم جمع […]
بازسازی کد، کد خودآزما، یکپارچهسازی پیوسته
اگر بخش قبلی در مورد مشکلات بازسازیکد (refactoring) را خوانده باشید، احتمالاً یکی از درسهایی که یاد گرفتهاید این است که اثربخشی بازسازی کد با سایر تکنیکها و روشهایی که یک تیم استفاده میکند، ارتباط تنگاتنگی دارد. اکسپی (XP) یکی از اولین متدهای چابک بود و برای سالها رهبر تکنیکهای جدید و نوظهور چابک بود. […]
دام توجیه بازسازی کد (Refactoring)
اما من فکر میکنم خطرناکترین روشی که افراد به دام میافتند زمانی است که سعی میکنند بازسازی کد (refactoring) را بر اساس موضوعاتی مانند «کد تمیز» (Clean Code)، «تجربهی خوب و شناختهشدهی مهندسی» (Good Engineering Practice) یا دلایل اخلاقی مشابه توجیه کنند. هدف از بازسازی کد این نیست که نشان دهیم یک مخزن کد (code […]