برنامه نویسی

اولین تجربه من با مکان نما + کلود سونت

اولین تجربه من با استفاده از Cursor به عنوان یک IDE و Claude 3.5 Sonnet برای توسعه نرم افزار

اجرای بازی زندگی

من معتقدم که تا به حال چیزی در مورد مکان نما شنیده اید یا حداقل دیده اید. اگر نه، در اینجا شرح مختصری از آنچه است، با توجه به مستندات خود است:

مکان نما یک شاخه از کد VS است. این به ما امکان می‌دهد تا روی ساخت بهترین راه برای کدنویسی با هوش مصنوعی تمرکز کنیم، در حالی که تجربه ویرایش متن آشنا را ارائه می‌کنیم.

به طور خلاصه، مکان نما یک IDE است که دارای یکپارچگی و عملکردهایی است که مستقیماً با استفاده از هوش مصنوعی برای توسعه نرم افزار مرتبط است.

گفت، بیایید به تجربه من نگاه کنیم 🙂

من پیوند مخزن را در اینجا می گذارم: بازی زندگی

پس زمینه Meu

برای اینکه درک دقیق تری از تجربه من داشته باشید، اطلاعاتی را که ممکن است به نتیجه و ملاحظات نهایی من مرتبط باشد را در اینجا می گذارم:

  • من یک توسعه دهنده نرم افزار، به طور خاص Front-end با 5 سال سابقه کار هستم
  • من لیسانس کامپیوتر دارم
  • من هرگز از برنامه افزودنی در سطح IDE به جز Github Copilot استفاده نکرده بودم که شامل هوش مصنوعی باشد
  • بله، من از ChatGPT در زندگی روزمره خود استفاده می کنم (چند نکته در این مورد دارم، اما برای پست بعدی)

مانند هر تجربه ای، ما باید قوانینی را تعریف کنیم:

روشن با تشکر برای پذیرش پیشنهادات کد تولید شده توسط هوش مصنوعی
از انگلیسی به عنوان زبان ارتباطی استفاده کنید
من نمی توانم کد را تغییر دهم تا راه حل هایی برای اشکالات پیدا کنم و/یا کیفیت آنچه تولید شده را بهبود بخشم
هدف
برای آزمایش همه چیزهایی که اشاره شد، هدف اجرای یک نسخه تعاملی از “بازی زندگی” جان کورنوی با استفاده از Angular 17 است (بله، نسخه مربوط به محتوای این مقاله است)

بازی زندگی

بازی زندگی یک اتومات سلولی است که قوانین مشخصی دارد:

  • یک سلول زنده با 2 یا 3 همسایه زنده زنده می ماند.
  • یک سلول زنده با کمتر از 2 همسایه زنده می میرد.
  • یک سلول زنده با بیش از 3 همسایه زنده می میرد.
  • یک سلول مرده با دقیقاً 3 همسایه زنده زنده می شود.

مدال حاوی قواعد بازی

درخواست می کند

همانطور که قبلاً گفته شد، زبان مورد استفاده برای کل تعامل انگلیسی بود و دستورات مستقیم و واضح داده شد، مانند:

Implements "Game of Life" in a grid with full width and height of the screen.
Add a button that randomizes the grid and another one that is going to start
the simulation. Please use Angular Material for the styles

مهم: من تصمیم گرفتم این مقاله را کمی بعد از تست بنویسم و ​​با دستورات و نتایج تاریخچه را از دست دادم، بنابراین نمی توانم 100% چیزی را که نوشتم قرار دهم و این توضیح می دهد که نتیجه هر دستور وجود ندارد. با این حال، با مراحل بعدی و تکامل این پروژه پیگیری خواهم کرد.

برای هر تولید کد، همه چیز را پذیرفتم، آن را اجرا کردم و اصلاحاتی مانند تنظیم طرح، حاشیه، اشکالات و غیره را درخواست کردم.

کیفیت کد

نمی‌توانم بگویم که کد بی‌نقص است، اما می‌توانم با آرامش بگویم که کد خوانا و قابل فهم همیشه تولید می‌شد، تا در صورت لزوم بتوانم مداخله کنم و چیزی را که تولید شده است، تصحیح/بهسازی کنم.

اشکالات/مشکلات

درست مانند ما برنامه نویسان گوشت و خون، هوش مصنوعی نیز باگ ایجاد می کند، و اولین تماس من تفاوتی نداشت. من مشکلات زیادی با قرار دادن عناصر در چیدمان داشتم (مانند آمار و نمایان بودن دکمه ها)، برخی از مشکلات با رنگ های شبکه و مشکل اصلی: سیستم تشخیص الگو کار نمی کند (اما به عنوان مراحل بعدی ذکر شده است).

حتی با وجود مشکلات، کد تولید شده قابل اعتماد بود و آنچه درخواست شده بود را حل می کرد و نیاز به برخی تنظیمات اینجا و آنجا داشت. شایان ذکر است که قوانین بازی زندگی همگی بدون هیچ مشکلی یا نیاز به تعدیل اجرا شدند.

تمپو

فکر می‌کنم کمتر از 1:30 دقیقه روی کل پروژه صرف کردم، با در نظر گرفتن اینکه هنوز به میانبرها عادت می‌کردم و راه‌های اجرای دستورات را آزمایش می‌کردم. و اگرچه این یک پروژه خیلی پیچیده نیست، من حداقل 2 برابر آن زمان نیاز دارم (با خوش بین بودن) تا آن را به همان شیوه اجرا کنم.

نکات مثبت

  • تولید کد سریع
  • انعطاف‌پذیری برای افزودن زمینه به هر دستور، رفع اشکالات، ایجاد توابع و جستجوی مشکلاتی را که ممکن است از وجود آنها نمی‌دانستید بسیار آسان‌تر می‌کند.
  • کدی که کار می کند 🙂
  • IDE مبتنی بر VSCode است، بنابراین می‌توانم به سادگی هر چیزی را که در زندگی روزمره خود استفاده می‌کنم وارد کنم

نکات منفی

  • حل برخی از مشکلات (عمدتاً مربوط به چیدمان) هنوز دشوار است.
  • اگرچه کد عملکردی است، اما برخی از پیاده‌سازی‌ها کمی مورد نظر باقی می‌مانند

نتیجه گیری

من از کیفیت هر چیزی که تولید شده بسیار شگفت زده و بسیار راضی هستم و معتقدم که می توانم روزانه برای کارهای دستی و تکراری مانند تولید تست ها، رفع اشکالات ساده، ایجاد MVP و مفاهیم ساده از این موضوع بهره مند شوم. بنابراین هنوز باید تنظیماتی را انجام دهم تا کیفیت کد مرا راضی کند.

مراحل بعدی

اکنون که اولین نمونه اولیه ساخته شده است، مراحل بعدی ایجاد ویژگی های جدید برای این پروژه خواهد بود (من واقعاً می خواهم تشخیص الگو را تعمیر کنم و برخی از الگوهای از پیش پیاده سازی شده مانند Logic Gates را اضافه کنم). علاوه بر این، من برنامه هایی را با استفاده از فناوری هایی ایجاد خواهم کرد که به آنها مسلط نیستم (اما می خواهم مانند Three.js یاد بگیرم) و نه تنها کد را می پذیرم، بلکه کیفیت آنچه تولید شده را برای درک پتانسیل واقعی تنظیم و بهبود می بخشم.

اوه، من هم می خواهم ببینم v0 چگونه کار می کند (بسیار جالب به نظر می رسد).

باز هم پیوند به مخزن در Github: Game of Life.

اگه تا اینجا خوندید خیلی ممنون 🙂
نظر یا پیشنهاد خود را برای پست های بعدی اینجا بگذارید

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا