عنوان:

‫جریان کار پیشنهادی و اصولی توسعه با GitHub Copilot (The 8-Step Engineering Workflow)


نویسنده: وحید نصیری
تاریخ: ۱۴۰۵/۰۵/۲۹ ۱۳:۱۸
آدرس: www.dntips.ir
بسیاری از توسعه‌دهندگان پس از نصب ابزارهای هوش مصنوعی مستقیماً به سراغ سناریوی پرخطر «پرامپت فوری و کپی‌پیست مستقیم» می‌روند؛ در حالی که بیشترین بازدهی، بالاترین کیفیت کد و کمترین میزان باگ زمانی حاصل می‌شود که از یک جریان کار مهندسی ۸ مرحله‌ای و ساختاریافته پیروی کنید. این جریان کار، هوش مصنوعی را در یک چارچوب کنترل‌شده از مرحله درک نیازمندی تا ثبت نهایی در مخزن کد هدایت می‌کند.

دیاگرام جریان کار (The 8-Step Workflow)
درک > برنامه ریزی > به چالش کشیدن > پیاده سازی > آزمون > راستی آزمایی > بازبینی نهایی > ثبت

گام‌به‌گام فرآیند توسعه
گام ۱: درک ساختار و دامنه مسئله (Understand)
پیش از نوشتن هرگونه کدی، ساختار فعلی سیستم و وابستگی‌های آن را بررسی کنید:
«پیاده‌سازی فعلی کلاس‌ها و اینترفیس‌های مشخص‌شده را تحلیل کن و نحوه تعامل و وابستگی‌های بین آن‌ها را به صورت خلاصه توضیح بده.»

گام ۲: تدوین کوچک‌ترین تغییر امن (Plan)
تغییرات بزرگ را به گام‌های خرد و افزایشی تقسیم کنید و جلوی تغییر زودهنگام کد را بگیرید:
«کوچک‌ترین و امن‌ترین تغییر معماری ممکن برای دستیابی به این نیازمندی را پیشنهاد بده. فعلاً هیچ فایلی را تغییر نده.»

گام ۳: به چالش کشیدن راه‌حل (Challenge)
پیش از ورود به فاز کدنویسی، نقاط شکست طرح پیشنهادی را کالبدشکافی کنید:
«این رویکرد چه نقاط ضعفی دارد؟ در سناریوهای همزمانی، داده‌های نامعتبر، مسائل مربوط به null یا بار سنگین سیستم چه مواردی ممکن است دچار شکست شوند؟»

گام ۴: پیاده‌سازی متناسب با استانداردها (Implement)
پس از تصویب طرح، اجازه پیاده‌سازی را با حفظ الگوهای حاکم بر مخزن صادر کنید:
«رویکرد تصویب‌شده را پیاده‌سازی کن. از قراردادهای موجود در پروژه، الگوهای نام‌گذاری، تزریق وابستگی و انتشار CancellationToken پیروی کن.»

گام ۵: آزمون و پوشش سناریوهای مرزی (Test)
از Copilot بخواهید آزمون‌های لازم برای سنجش رفتار جدید را طراحی کند:
«برای رفتارهای جدید و حالت‌های مرزی (Edge Cases)، تست‌های واحد با xUnit و FluentAssertions تولید کن.»

گام ۶: راستی‌آزمایی مستقل و واقعی (Verify)
هرگز به ادعای هوش مصنوعی مبنی بر اینکه «کد کار خواهد کرد» تکیه نکنید. کامپایل و تست‌ها را مستقیماً در ترمینال یا IDE اجرا کنید:
dotnet build --no-incremental
dotnet test

گام ۷: بازبینی انتقادی تغییرات (Review)
تغییرات نهایی (Git Diff) را پیش از کامیت تحت یک بررسی سخت‌گیرانه قرار دهید:
«تغییرات اعمال‌شده را به عنوان یک مهندس ارشد و بدبین C# بازبینی کن. به دنبال تغییرات رفتاری ناخواسته، افت کارایی، هشدارهای NRT یا کدهای پیچیده غیرضروری باش.»

گام ۸: ثبت در مخزن (Commit)
کدها را تنها پس از تأیید چشمی خودتان، گذر موفق تست‌ها و بررسی دقیق فایل‌های تغییریافته در Git ثبت (Commit) کنید.

چرا این چرخه ضروری است؟

  • تفکیک فکر از اجرا: نیمی از مراحل به برنامه‌ریزی، کشف ریسک‌ها و ارزیابی اختصاص دارد، نه تولید شتاب‌زده متن.
  • پیشگیری از باگ‌های خاموش: اجرای مستقل تست‌ها در مرحله ۶ و بازبینی انتقادی در مرحله ۷ مانع از ورود خطاهای پنهان به سیستم می‌شود.
  • حفظ کنترل مهندسی: در تمام مراحل، راننده اصلی شما هستید و Copilot به عنوان یک دستیار پردازشی تحت نظارت فعالیت می‌کند.

قاعده کلیدی: کدنویسی با هوش مصنوعی مسابقه سرعت در تولید متن نیست، بلکه مدیریت فرآیند تصمیم‌گیری مهندسی است؛ این جریان ۸ مرحله‌ای، سرعت هوش مصنوعی را با دقت مهندسی پیوند می‌زند.