توصیههای ChatGPT به توسعهدهندگان نرمافزار
مکالمهی کوتاهم با ChatGPT را در اینجا آوردهام با این هدف که برای خوانندگان عزیزم مفید باشد. میتونید لطفا خودتون رو معرفی کنید؟ من ChatGPT هستم. من یک دستیار مجازیام که از روی مدل پردازش زبان طبیعی شرکت OpenAI ساخته شدهام. من طراحی شدهام تا طیف گستردهای از پرسشها و درخواستها به زبان طبیعی را […]
بازسازی کد: نامهای اسرارآمیز
اگر مشغول خواندن یک رمان پلیسی باشید، اتفاق خوشایندی است که مجبور شوید تمام فکر و حواستان را روی بخشی از کتاب متمرکز کنید تا بفهمید چه اتفاقی دارد میافتد. اما موقعی که مشغول خواندن کدی هستید، چنین اتفاقی اصلا خوشایند نیست. ممکن است در مورد خودتان تصور کنید که شما هم یکی از اعضای […]
حدس نزنید، اندازه بگیرید
سیستمی که مشغول نوشتن آن برای کرایسلر بودیم خیلی کند بود. هرچند ما هنوز در مرحلهی توسعه بودیم، اما کندی سیستم باعث کندی کار میشد چون اجرای آزمونها خیلی طولانی میشد. کنت بک، مارتین فاولر و من تصمیم گرفتیم که این مشکل را حل کنیم. قبل از آنکه بتوانیم برای بررسی مساله دور هم جمع […]
بازسازی کد، کد خودآزما، یکپارچهسازی پیوسته
اگر بخش قبلی در مورد مشکلات بازسازیکد (refactoring) را خوانده باشید، احتمالاً یکی از درسهایی که یاد گرفتهاید این است که اثربخشی بازسازی کد با سایر تکنیکها و روشهایی که یک تیم استفاده میکند، ارتباط تنگاتنگی دارد. اکسپی (XP) یکی از اولین متدهای چابک بود و برای سالها رهبر تکنیکهای جدید و نوظهور چابک بود. […]
دام توجیه بازسازی کد (Refactoring)
اما من فکر میکنم خطرناکترین روشی که افراد به دام میافتند زمانی است که سعی میکنند بازسازی کد (refactoring) را بر اساس موضوعاتی مانند «کد تمیز» (Clean Code)، «تجربهی خوب و شناختهشدهی مهندسی» (Good Engineering Practice) یا دلایل اخلاقی مشابه توجیه کنند. هدف از بازسازی کد این نیست که نشان دهیم یک مخزن کد (code […]
بهترین روش بازنگری کد
چگونگی انجام بازسازی کد (Refactoring) در فرایند بازنگری کد (Code Review) بستگی به ماهیت و نوع بازنگری دارد. روش رایج و عمومیِ استفاده از Pull Request که در آن، بازنگر کد را بدون حضور برنامهنویس اصلی بررسی میکند، کارایی خوب و مناسبی ندارد. موقع بازنگری بهتر است برنامهنویس اصلی حضور داشته باشد زیرا از یک […]
کدام دسته از توسعهدهنگان هستید؟
به نظر شما، بر اساس روز کاری ایدهآلتان، شما در کدام دسته از توسعهدهندگان زیر قرار میگیرید؟ ویژگیهای کاری و شخصی شما به کدام گروه از توسعهدهندگان شامل توسعهدهندگان اجتماعی (Social)، تنها (Lone)، متمرکز(Focused)، متعادل (Balanced)، هدفگرا (Goal-oriented) یا رهبر (Leading) شباهت دارد؟ گزیده: ۲۰۱۱: نرمافزار داره دنیا رو میخوره. مارک اندریسون (Marc Andreessen) ۲۰۲۲: […]