Github Copilot

Github Copilotمن تقریباً ۲ سال هست به صورت حرفه‌ای لاراول کار می‌کنم و ماجرا تقریباً از شهریور سال ۱۴۰۰ شروع شد.یک روز بعد از کار مثل همیشه خودم رو کشوندم پشت سیستمم و سایت هایی که هر روز میرفتم رو بررسی کردم، ایمیلم رو چک کردم و یک ایمیل از گیت هاب داشتم که داشت یچیزی رو معرفی می‌کرد که به خودم گفتم الان حالش رو نداری بذار برای بعد.رفتم یوتیوب یه موزیک گوش بدم، توی صفحه اصلی یه ویدیو نظرم رو جلب کرد که دقیقاً با مضمون ایمیلی که داشتم هماهنگ بود.وارد صفحه شدم، فیلم به صورت خودکار پخش شد و خیلی خوب بود تقریباً ۱۵ دقیقه فیلم بود ولی به زبان فارسی نبود، آمد و ابزار رو برای زبان پایتون توی vs code پرزنتیشن کرد و تمام.بدو بدو رفتم توی ایمیلی که بهم رسیده بود و وارد لینک دعوت نامه شدم.وقتی وارد صفحه شدم با یک صفحه فرود (Landing) خیلی جذاب رو به رو شدم، اینطوری تیتر زده بود Your AI pair programmer, هیچ نشونه‌ای توی سایت نبود که بگه از زبان PHP هم پشتیبانی می‌کنه و بدترین چیزی که وجود داشت این بود که باید ثبت نام کنی تا بعداً بهت امتیاز استفاده کردن رو بهت بدن به اصطلاح باید میرفتم توی لیست انتظار.صبح زودتر از همیشه بیدار شدم، سریع خودم رو رسوندم شرکت تا برای دوستام توضیح بدم که چه چیز خفنی آمده و قراره چی بشه، تا دیدمشون بدون اینکه سلام کنم گفتم وااای بچه ها گیت هاب یه برنامه‌ای درست کرده که بهش میگی می‌خوام فایل csv بخونم و اون خودش بقیه کار رو انجام میده، هیجان توی چشماشون موج می‌زد، بردمشون توی یوتیوب و فیلم رو برای اونا هم پخش کردم.بعد از اینکه فیلم تموم شد بهشون گفتم می‌دونید نکته جالبش کجاست؟گفتند مگر جالب تر از این که هوش مصنوعی کد بزنه هم هست؟گفتم آره، فعلاً رایگان هست ولی باید برید توی لیست انتظار، بدو بدو ثبت نام کردند و ما تقریباً ۲ ماه توی لیست انتظار بودیم تا اینکه صبح آمدم شرکت دیدم ایمیل دارم و حدس بزنید چی بود؟درسته، کوپایلت برای من باز شده بود نصبش کردم روی Php strom و پروژه رو باز کردم یه روت درست کردم و توی اون یه متغیر تعریف کردم به این شکل$name=و منتظر شدم.تقریباً زیر ۳ثانیه شروع کرد به پیشنهاد دادن و این خط رو به این شکل کامل کرد.$name=&quotjohn"تا آمدم دست به کیبورد بشم ۲ خط دیگه هم پیشنهاد داد$fname=&quotbrown" $age=34;خیلی ذوق کرده بودم، اینتر زدم و شروع کردم به نوشتن کد زیرFunction readCsv(){ }درباره شروع کرد و پیشنهاد دادFunction readCsv(){ Return file(&quotpath/to/file&quotFILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES); }من که تا حالا این تابع فایل رو استفاده نکرده بودم و منتظر بودم که file get contents این عمل رو انجام بده با نا‌امیدی کد رو اجرا کردم و دیدم که داره آرایه بر می‌گردونه، خیلی خوشحال شدم.تقریباً از اولین تجربه من ۱ سال میگذره، تقریباً ۵ ماه پیش بود که متوجه شدیم برنامه سربلند از آزمایش ها آمده بیرون و الان قراره برای فروش گذاشته بشه ولی ما هایی که توی این پروسه حضور داشتیم می‌تونیم یه مدتی به صورت رایگان ازش استفاده کنیم.دقیقا هفته پیش بود که اشتراک هامون تموم شد و به من و دوستام غم عظیمی رو تحمیل کردند.خب فکر‌ می‌کنم با این خاطره خوب متوجه شده باشید که این کوپایلت چی هست و چیکار می‌کنه.بخوام توی یک خط بگم دقیقا این ابزار چی هست فقط می‌تونم بگم، دستیار هوش‌مصنوعی برنامه‌نویسی.شاید برای شما سوال پیش آمده باشه که چطوری این ابزار که می‌کنه که اولش هم برای من هم سوال بود که الان بهتون توضیح می‌دم که چطوری کار می‌کنه.گیت‌هاب یک سرور برای ذخیره کدهاست که تقریبا همه نوع برنامه‌نویسی توش پیدا میشه از تازه کار تا حرفه‌ای از برنامه‌نویس تفریحی تا افراد حرفه‌ای که برای شرکت های بزرگی کار می‌کنند.خب این به ما چه؟ اصلا چه سودی داره ما این رو بدونیم؟ بهمون بگو کوپایلت چطوری کار میکنه!!!همه ما میدونیم که سیستم های یادگیری ماشین برای آموزش از میلیون ها داده استفاده می‌کنند که متوجه بشن که چی به چی هست، حالا سایت گیت‌هاب که از مجموعه بی‌پایانی از کد‌هاست آمده و موتور کوپایلت رو با منبع بی‌پایان خودش تغذیه کرده و نتیجه شده چیزی که دارید می‌بینید!اه این که خیلی بده شاید من یک چیزی توی گیت‌هابم داشته باشم که دوست ندارم کسی اون رو بدونه، الان قضیه چیه؟هیچ جای نگرانی نداره این ابزار فقط مخزن های عمومی رو مورد بررسی قراره میده.چقدر میشه به این ابزار اعتماد کرد؟آمار ها نشون داده میانگین ۲۶ درصد افراد از پیشنهاد های کوپایلت استفاده کردند، توی هر فایل هم بیشتر از ۲۷ درصد از کوپایلت استفاده شده که این آمار توی زبانی مثل Python تا ۴۰ درصد هم رسیده.با این حال گیت‌هاب کوپایلت قرار نیست کد های بی‌نقصی برای شما بنویسه و فقط نزدیکترین کد رو به شما پیشنهاد میده.کوپایلت میتونه کمک کنه که توی یه زبان یا فریم‌ورک جدید شروع کنیم به توسعه؟از اونجایی که کوپایلت از مخازن عمومی تغذیه می‌کنه باید بگم که کوپایلت هم مثل شما دانش زیادی نداره و باید منتظر بمونید که مخازن بیشتری منتشر بشن ولی اینطوری هم نیست که نتونه هیچ پیشنهادی بده، فقط باید بیشتر بهش توجه کنید که خراب‌کاری نکنه.چطوری میشه از کوپایلت به بهترین شکل استفاده کرد؟توی کدنویسی مهم ترین قانونی که وجود داره اینکه تمیز کد بزنید و کد هاتون رو به اجزای کوچکتر تقسیم کنید.اگر این اصول رو رعایت کنید و کد هاتون رو به اجزای کوچکتر تجزیه کنید بدون شک پیشنهاد های شگفت‌انگیز تری کوپایلت می‌گیرید!کوپایلت چیزی از ما میدونه؟باید بگم که آره.وقتی شما شروع می‌کنید به کد زدن از یک سبک خاصی پیروی می‌کنید به اصطلاح دست‌خط خودتون رو دارید و بعد از گذشت مدت زمان نه چندان طولانی کوپایلت این هارو متوجه میشه و رعایت می‌کنه مثلا اگر شما همیشه از تک کوتیشن به جای کوتیشن استفاده می‌کنید اون هم همین کارو میکنه.کوپایلت کد های خصوصی من رو هم به اشتراک میذاره؟نه، همونطور که کمی بالاتر گفتم فقط از مخازن عمومی استفاده میکنه و دیتایی که برای سرور های خودش ارسال می‌کنه فقط این هست که شما کد رو قبول کردید یا نه.و در آخر باید بگم نگران مالکیت کد هایی که کوپایلت برای شما پیشنهاد داده هم نباشد، این که ابزار هست که آمده به شما کمک کنه. https://rp76.ir چون می‌نویسم هستم.