پرامپتهای برنامهنویسی
پرامپتهایی برای کارهای روزمره برنامهنویسی: توضیح، دیباگ، تست، ریفکتور، بازبینی و مستندسازی کد به هر زبانی.
این پرامپتهای برنامهنویسی برای پروژههای واقعی طراحی شدهاند، نه مثالهای ساده و ابتدایی. مواردی مانند توضیح کدهای ناآشنا، دیباگ با اولویتبندی فرضیات، نوشتن تست واحد (Unit Test)، ریفکتور، بررسی Diff، کوئریهای SQL، عبارات منظم (Regex)، نجات از خطاهای Git، بررسیهای امنیتی، مستندسازی و اسکریپتهای کوچک را پوشش میدهند. بیشتر آنها برای هر زبان برنامهنویسی کاربرد دارند: فقط زبان، فریمورک یا ابزار موردنظرتان را داخل [قلابها] قرار دهید و کد خود را در بخش مشخصشده پیست کنید. قطعهکدهای کوتاه و مشخص، پاسخهای به مراتب بهتری نسبت به فایلهای کامل دریافت میکنند.
هر پرامپت خروجی قابل سنجشی ارائه میدهد؛ تستها قابل اجرا هستند، توضیحات با کد مطابقت داده میشوند و راهحلها همراه با دلیل ارائه میشوند. به این ترتیب تشخیص پاسخهای اشتباه سادهتر میشود—نکتهای حیاتی، چرا که هوش مصنوعی گاهی کدی تولید میکند که درست به نظر میرسد اما در سناریوهای خاص (Edge Cases) خطا میدهد یا توابعی ناموجود را به کار میگیرد. با دکمه Copy پرامپت را در ویرایشگر یا یادداشتهای خود کپی کنید، یا با «Use in chat» آن را در ChatG باز کنید؛ جایی که کدها با نشانهگذاری رنگی (Syntax Highlighting) و دکمه کپی نمایش داده میشوند.
پیش از پیست کردن کد، کلیدهای API، رمزهای عبور، توکنها و اطلاعات کاربران را حذف کنید و مطمئن شوید سازمان شما اجازه اشتراکگذاری کد با سرویسهای هوش مصنوعی را میدهد. برای پرسشهای تکی، دستیار کدنویسی سریعتر است. برای آشنایی عمیقتر با فرایندهای کاری و محدودیتها، راهنماهای هوش مصنوعی برای کدنویسی و ChatG برای توسعهدهندگان را مطالعه کنید.
چگونه این پرامپتها را شخصیسازی کنیم؟
- نسخهها و محدودیتها را قید کنید: نسخه زبان، فریمورک، محیط اجرا (Runtime) و شرطهایی مثل «بدون افزودن وابستگی جدید».
- ورودی را خلاصه کنید: به یک نمونه حداقلی (Minimal Example) که همچنان مشکل را نشان دهد بسنده کنید.
- نتیجه را دوباره ارسال کنید: پس از اعمال راهحل، خروجی یا خطای جدید را پیست کرده و بپرسید گام بعدی چیست.
- فرمت خروجی را دقیق بخواهید: مانند خروجی به شکل Diff، یک تابع مجزا یا جدولی از گزینهها.
کدهای تولیدشده را قبل از اجرا حتماً بخوانید و ابتدا در یک محیط امن تست کنید.
-
01
توضیح کد در سطح مهندس ارشد
شما یک مهندس ارشد [زبان برنامهنویسی] هستید که به یک توسعهدهنده جونیور آموزش میدهید. عملکرد کد زیر را گامبهگام توضیح دهید، سپس به هر نکته غیرعادی، پرریسک یا مناسب برای ریفکتور اشاره کنید. کد: [کد را جایگذاری کنید]
-
02
عیبیابی خطا با اولویتبندی علتها
کد [زبان یا فریمورک] من این خطا را میدهد: [خطا و stack trace را جایگذاری کنید]. این هم کد مربوطه: [کد را جایگذاری کنید]. سه علت محتمل را به ترتیب اولویت فهرست کنید، نحوه بررسی هرکدام را بگویید و راهحل محتملترین علت را ارائه دهید.
-
03
تستهای واحد به همراه حالتهای خاص
با استفاده از [فریمورک تست]، برای تابع زیر یونیت تست بنویسید. ورودیهای عادی، مقادیر مرزی، ورودیهای خالی یا null و انواع نامعتبر را پوشش دهید و نام هر تست را بر اساس رفتاری که بررسی میکند انتخاب کنید. تابع: [تابع را جایگذاری کنید]
-
04
ریفکتور کد بدون تغییر عملکرد
این کد [زبان برنامهنویسی] را ریفکتور کنید تا خواناتر و قابلنگهداریتر شود، بدون اینکه رفتارش تغییر کند. از نامهای واضح، توابع کوچکتر و کدهای تکراری کمتر استفاده کنید و رابط عمومی (public interface) را دستنخورده باقی بگذارید. هر تغییر را مختصر توضیح دهید. کد: [کد را جایگذاری کنید]
-
05
بررسی پول ریکوئست بر اساس اولویت
تغییرات (diff) این پول ریکوئست را به عنوان یک بازبین سختگیر اما صمیمی بررسی کنید. نظرات خود را در دستههای باگ، امنیت، عملکرد و استایل دستهبندی کنید، هرکدام را مسدودکننده یا اختیاری علامت بزنید و تغییرات کدی مشخصی را پیشنهاد دهید. دیف: [diff را جایگذاری کنید]
-
06
کوئری SQL بر اساس ساختار جدولها
یک کوئری [PostgreSQL، MySQL یا SQLite] بنویسید که با استفاده از این جدولها [کار مورد نظر را شرح دهید]: [ساختار جدولها را جایگذاری کنید]. کوئری را به زبان ساده توضیح دهید و در صورت حجیم بودن جدولها، ایندکسهای مناسب را پیشنهاد دهید.
-
07
رجکس همراه با رشتههای تستی
یک عبارات منظم (regex) برای [زبان یا ابزار] بنویسید که با [الگوی مورد نظر] مطابقت داشته باشد اما با [موارد استثنا] تطابق نداشته باشد. هر بخش از الگو را توضیح دهید و پنج رشته که باید مطابقت داشته باشند و پنج رشته که نباید مطابقت داشته باشند ارائه دهید.
-
08
تبدیل کد به زبانی دیگر
این کد [زبان مبدأ] را به کد اصولی در [زبان مقصد] تبدیل کنید. خطبهخط ترجمه نکنید؛ از کتابخانهها و الگوهای رایج زبان مقصد استفاده کنید و هرگونه تفاوت رفتاری مانند تقسیم اعداد صحیح یا مدیریت خطا را یادآور شوید. کد: [کد را جایگذاری کنید]
-
09
اندپوینت API به همراه اعتبارسنجی
یک اندپوینت در [فریمورک] برای متد [متد HTTP] و مسیر [route] بنویسید که [وظیفه مورد نظر را مشخص کنید]. این فیلدهای ورودی را اعتبارسنجی کنید: [فیلدها و قوانین]، پیامهای خطای واضح با کدهای وضعیت مناسب بازگردانید و یک نمونه درخواست و پاسخ ارائه دهید.
-
10
اسکریپت ایمن شل با اجرای آزمایشی
یک اسکریپت [bash یا PowerShell] بنویسید که [کار مورد نظر، مثلاً تغییر نام تمام عکسهای یک پوشه بر اساس تاریخ ثبت]. آن را ایمن بنویسید: گزینه اجرای آزمایشی (dry-run) اضافه کنید، در صورت بروز خطا متوقف شود و مراحل کار را چاپ کند. هر بخش را با کامنت توضیح دهید.
-
11
یافتن و رفع گلوگاههای کارایی کد
این تابع [زبان برنامهنویسی] برای ورودیهای بزرگ حدود [اندازه ورودی] کند اجرا میشود: [کد را جایگذاری کنید]. پیچیدگی زمانی و حافظهای آن را توضیح دهید، گلوگاه را مشخص کنید و نسخهای سریعتر به همراه پیچیدگی جدید آن پیشنهاد دهید. خروجی نباید تغییر کند.
-
12
طراحی اسکیما دیتابیس
یک اسکیمای پایگاه داده برای [توضیح اپلیکیشن، مثلاً یک سیستم رزرو کوچک] با این الزامات طراحی کنید: [الزامات]. جدولها، ستونها به همراه نوع داده، کلیدها و روابط را مشخص کنید و یک تصمیم طراحی را نام ببرید که با رشد برنامه نیاز به بازنگری دارد.
-
13
افزودن داکاسترینگ و کامنت به کد
داکاسترینگها یا کامنتهای شفاف بر اساس استانداردهای [زبان برنامهنویسی] به کد زیر اضافه کنید. هدف هر تابع، پارامترها، مقادیر بازگشتی و خطاهای احتمالی را توضیح دهید و خود کد را تغییر ندهید. کد: [کد را جایگذاری کنید]
-
14
خروج ایمن از خرابکاری در Git
من در چنین وضعیتی در Git گیر افتادهام: [توضیح دهید چه اتفاقی افتاده، مثلاً روی برنچ اشتباه کامیت و پوش کردم]. توضیح بده دقیقاً چه اتفاقی افتاده، دستورات دقیق برای حل ایمن آن را به من بده، و درباره هر دستوری که تاریخچه مشترک (shared history) را بازنویسی میکند هشدار بده.
-
15
یادگیری یک مفهوم با تمرین
مفهوم [مفهوم برنامهنویسی، مثلاً بازگشت یا کلوژرها] را در [زبان برنامهنویسی] به من یاد بده. با یک توضیح کوتاه و یک مثال مینیمال شروع کن، سپس سه تمرین با درجه سختی صعودی به من بده. قبل از نمایش پاسخ هر کدام، منتظر پاسخ من بمان.
-
16
بررسی امنیتی یک قطعه کد
این کد [زبان] را از نظر مشکلات امنیتی مثل تزریق کد (injection)، فرایند غیrate-ایمن deserialization، عدم اعتبارسنجی ورودی، اطلاعات حساس هاردکد شده و احراز هویت ضعیف بررسی کن. برای هر مشکل، ریسک آن را توضیح بده و کد اصلاحشده را نمایش بده. کد: [کد را جایگذاری کنید]
-
17
پیام کامیت واضح بر اساس diff
برای این تغییرات یک پیام کامیت بنویس؛ شامل یک خط خلاصه امری با کمتر از ۷۲ کاراکتر و یک متن توضیح که چه چیزی تغییر کرده و چرا: [diff را توضیح دهید یا جایگذاری کنید]
-
18
مقایسه کتابخانهها یا روشها
من باید [کار مورد نظر] را در یک پروژه [زبان یا فریمورک] با این محدودیتها انجام دهم: [محدودیتها، مثلاً حجم کم باندل، بدون وابستگیهای بومی]. دو یا سه روش یا کتابخانه رایج را در یک جدول با مزایا، معایب و زمان مناسب استفاده از هر کدام مقایسه کن، و بگو کدام جزئیات را باید در مستندات رسمی آنها بررسی کنم.
-
19
کامپوننت رابط کاربری دسترسپذیر
یک کامپوننت دسترسپذیر با [فریمورک، یا HTML و CSS و JavaScript خام] برای [کامپوننت، مثلاً ویجت تبها] بساز. نیازمندیها: [نیازمندیها]. پشتیبانی از کیبورد، ویژگیهای ARIA در صورت نیاز، و یک مثال کوتاه از نحوه استفاده را اضافه کن.
-
20
اسکریپت پاکسازی و پردازش فایل داده
یک اسکریپت با [زبان] بنویس که [نوع فایل، مثلاً یک فایل CSV] با این ستونها را بخواند: [ستونها]، سپس [محاسبات یا تبدیلهای لازم]، و نتیجه را در [خروجی] ذخیره کند. مقادیر خالی و سطرهای معیوب را مدیریت کن و در پایان یک خلاصه کوتاه چاپ کن.
همهچیز برای شروع آماده است
چت را باز کنید و اولین سؤالتان را بپرسید. رایگان است و نیازی به نصب هیچ برنامهای نیست.
شروع گفتگو