عنوان:

‫برخی از کاستی‌های عملی GitHub Copilot


نویسنده: وحید نصیری
تاریخ: ۱۴۰۳/۱۱/۲۱ ۰۷:۴۵
آدرس: www.dntips.ir
این مقاله، با وجود اذعان به مفید بودن GitHub Copilot برای تولید کدهای boilerplate، نوشتن query/regex و راه‌حل‌های سریع، چندین کاستی آن را برجسته می‌کند. نویسنده بر اهمیت تجربه توسعه‌دهنده در شناسایی خطاهای Copilot تأکید می‌کند.

کاستی‌های کلیدی:

  • آگاهی نادرست از API:
    • API endpointهای خیالی را تصور می‌کند و آنها را با اطمینان ارائه می‌دهد.
    • از endpointهای موجود استفاده نمی‌کند و ترجیح می‌دهد چرخ را از نو بسازد. این می‌تواند منجر به کدهای پر از اشکال شود که توسعه‌دهندگان را ملزم به بررسی مستندات API در کنار پیشنهادات Copilot می‌کند.
  • راه‌حل‌ها در تاریکی:
    • وجود بررسی‌های غیرضروری (مانند typeof window !== undefined) در کد.
    • از ساختارهای داده APIها، میکروسرویس‌ها یا سرویس‌های شخص ثالث بی‌اطلاع است.
    • سیستم‌های طراحی موجود را نادیده می‌گیرد و اغلب به‌جای اجزای خاص پروژه، اجزای عمومی را تولید می‌کند.
  • کدهای ضعیف یا قدیمی:
    • ممکن است متدهای منسوخ‌شده (مانند substr) را پیشنهاد کند.
    • در پیشنهاد ژنراتورهای UUID یا سایر کتابخانه‌های مرتبط برای ایجاد رشته‌های منحصر به‌فرد، ناکام است.
    • از مقادیر منحصر به‌فرد موجود در کد پایه، استفاده نمی‌کند.
  • تست‌های واحد ناقص:
    • تست‌ها، اغلب فاقد بررسی‌های ضروری هستند (به عنوان مثال، بررسی وجود عنصر، قبل از بررسی ناپدید شدن آن).
    • Mocks پیشنهاد می‌شوند بدون پیشنهادات مربوطه برای پاک کردن آنها.



مشاهده مطلب اصلی