العمل مع جيثب مساعد الطيار

كيف يمكن للذكاء الاصطناعي تحسين سرعة الترميز بشكل كبير

اربطوا احزمتكم

تمت الموافقة مؤخرًا على استخدام Github Copilot مع حسابي الخاص على Github وتمكنت من استخدام الأداة أثناء البرمجة اليومية منذ ذلك الحين. في هذه المقالة ، أود مشاركة تجربتي الأولى مع مساعد الشفرة القوي هذا.

ما يفعله Github Copilot وما لا يفعله

يعتبر Github Copilot جيدًا بشكل استثنائي في فهم السياق الذي تعمل فيه حاليًا ، وبالتالي يمكنه تقديم اقتراحات دقيقة للغاية لإكمال التعليمات البرمجية. هذا يعني أيضًا أن المطورين سيعتمدون أقل فأقل على مقتطفات التعليمات البرمجية المحددة مسبقًا ، على سبيل المثال لتخطيط وظيفة غير متزامنة أو مكون React.js بسرعة.

يمكن لـ Github Copilot اكتشاف النمط الذي كنت تستخدمه ، على سبيل المثال عن طريق تحليل مجموعة من نقاط البيانات أو واجهة ، ويمكنه استخدام هذه المعلومات بشكل صحيح عند الوصول إلى هذه البيانات في استدعاء الوظيفة ، لتقديم مثال بسيط.

الأداة لا ترميز كل شيء من أجلك. إنه يفهم السياق الحالي ونواياك ، ويمكنه تقديم اقتراحات أكواد دقيقة للغاية بناءً على هذه المعلومات.

استخدامات العالم الحقيقي في مشاريع هواياتي

حسنًا ، يكفي معلومات الخلفية! إذا كنت تريد معرفة المزيد حول تنفيذ Github Copilot ، فيرجى التحقق من الروابط الموجودة في الملحق في نهاية الصفحة.

ستُظهر بقية هذه المقالة تجاربي في العالم الحقيقي مع Github Copilot. بشكل عام يمكنني أن أستنتج أنها أقوى مساعدة ترميز رأيتها على الإطلاق. بالنظر إلى أن هذا هو الإصدار الأول فقط ، فمن المثير للإعجاب كيف يفهم Github Copilot مقاصدي ويمكنه تقديم الاقتراحات الصحيحة.

جافا سكريبت

لنبدأ ببعض إكمالات كود جافا سكريبت العادية. تستدل الاقتراحات بشكل صحيح على السياق وتفهم نيتي لكتابة مسار جديد أو

Image 3a745b6b4325
Image 3a745b6b4325
Image 1b10f916ba56
Image 1b10f916ba56
Image fce20a54bd33
Image fce20a54bd33

React.js و Hooks

تُظهر لقطات الشاشة التالية لقاءاتي الأولى مع اقتراحات لخطافات React ، أي منها دقيقة بشكل مثير للإعجاب. تُظهر لقطة الشاشة الأولى معالج علامات التبويب ، والذي لم يتم تنفيذه بعد في المكون (تم تنفيذ حاوية علامة التبويب نفسها).

تم التقاط لقطة الشاشة الأخرى في مكون المقالة ، وكما ترون بشكل صحيح يفترض أنني أريد أيضًا تحميل الترجمات ذات الصلة في هذا الجزء من الكود.

Image 2349c4814bb3
Image 2349c4814bb3
Image b0b4e779d117
Image b0b4e779d117

توضح الأمثلة التالية كيف يستنتج Github Copilot الأجزاء الأخرى بشكل صحيح عند تطوير مكونات React.js.

Image ee9960a38080
Image ee9960a38080
Image 8a25c744f100
Image 8a25c744f100
Image 811cfdc2ad44
Image 811cfdc2ad44
Image afa67dbd0151
Image afa67dbd0151

اقتراحات للمخفض

ربما كانت التجربة الأكثر إثارة للإعجاب التي مررت بها عندما قدمت الأداة بشكل أساسي مخفضًا كاملاً لاستخدامه مع useReducer.

Image 60c212ca3a8e
Image 60c212ca3a8e

ملفات JSON للترجمات

الاقتراحات التالية مثيرة للإعجاب أيضًا ، لأنها لا توفر إكمالًا للكود ، ولكنها توفر ترجمات صحيحة. يتم تحديد جميع الترجمات تحت كل لغة ، وبالنسبة للملفات الألمانية ، قدم Github Copilot ترجمات ألمانية للمفاتيح الإنجليزية. تمانع الانحناء الاشياء!

Image 527d8f89f516
Image 527d8f89f516
Image 2862682d35a2
Image 2862682d35a2
Image e733d5a797ca
Image e733d5a797ca

إكمالات CSS

هناك أيضًا اقتراحات جيدة لأنماط Tailwind.css. يتم توفير إكمالات التعليمات البرمجية الموضعية ويتم استنتاجها بشكل صحيح من السياق.

Image 4835f6a1a839
Image 4835f6a1a839
Image 10bd8559f56a
Image 10bd8559f56a
Image 9d593d7bd6c9
Image 9d593d7bd6c9
Image fbfcc0b75a5c
Image fbfcc0b75a5c

Next.js

بالإضافة إلى React.js ، يتفهم Github Copilot أيضًا سياق مشروع Next.js ويمكنه تقديم اقتراحات ذات صلة ، على سبيل المثال عند كتابة رمز من جانب الخادم لاستراتيجيات إنشاء موقع ثابت.

Image db94b45feb59
Image db94b45feb59
Image 202c014c2cad
Image 202c014c2cad

Suggestions

Categories