برنامهنویسی
پرامپت نوشتن تابع JavaScript
تابع JS تمیز با ورودی/خروجی مشخص، edge case و مثال استفاده.
مناسب برای: فرانتاند و فولاستک
پرامپت آماده
یک تابع JavaScript تمیز و قابل نگهداری بنویس.
خروجی:
1) امضای تابع و توضیح کوتاه
2) کد کامل (ES modern)
3) مدیریت edge caseها
4) ۲–۳ مثال استفاده
5) نسخه TypeScript اختیاری اگر مفید باشد
قوانین:
- نامگذاری واضح
- بدون وابستگی غیرضروری
- اگر نیاز مبهم است قبل از کدنویسی سؤال بپرس
نیاز:
{{NEED}}
محدودیتها:
{{CONSTRAINTS}}نمونه ورودی
نیاز: تابعی که آرایه اعداد را میگیرد و میانه را برمیگرداند. محدودیت: آرایه اصلی mutate نشود.
نمونه خروجی
function median(numbers) {
if (!Array.isArray(numbers) || numbers.length === 0) {
throw new Error("numbers must be a non-empty array");
}
const sorted = [...numbers].sort((a, b) => a - b);
const mid = Math.floor(sorted.length / 2);
return sorted.length % 2 === 0
? (sorted[mid - 1] + sorted[mid]) / 2
: sorted[mid];
}
مثال:
median([3, 1, 2]) // 2
median([4, 1, 3, 2]) // 2.5چه زمانی از این پرامپت استفاده کنی
- ساخت utility برای پروژه فرانت
- تبدیل نیاز محصول به تابع قابل تست
- آمادهسازی برای مصاحبه فنی
- نوشتن helperهای تاریخ/آرایه/رشته
اشتباهات رایج
- مشخص نکردن ورودی و خروجی
- نگفتن اینکه mutate مجاز است یا نه
- درخواست چند مسئولیت در یک تابع
- فراموش کردن مثال عددی یا رشتهای
پرامپتهای مرتبط
سؤالات پرتکرار
خروجی TypeScript هم میدهد؟+
اگر بخواهی در محدودیتها بنویس «نسخه TypeScript هم بده».
برای Node و مرورگر فرق دارد؟+
برای utility خالص معمولاً یکی است؛ اگر API مرورگر/Node لازم است محیط را بنویس.
آیا تست هم مینویسد؟+
با افزودن «۳ تست vitest/jest هم بنویس» میتوانی گسترشش دهی.
چطور از کپی مستقیم در پروژه استفاده کنم؟+
کد را کپی کن، edge caseها را با داده واقعی چک کن، بعد در Araaye AI ریویو بگیر.
برای React hook هم مناسب است؟+
برای تابع خالص بله؛ برای hook بگو «یک custom hook بنویس» تا ساختار عوض شود.
همین پرامپت را با چند مدل تست کن
اگر میخواهی همین پرامپت را با چند مدل هوش مصنوعی تست کنی، آن را داخل Araaye AI اجرا کن.
یا به کتابخانه پرامپتهای آماده برگرد.