پرامپت نوشتن تابع 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 مجاز است یا نه
- درخواست چند مسئولیت در یک تابع
- فراموش کردن مثال عددی یا رشتهای
ادامه در دسته برنامهنویسی یا بازگشت به کتابخانه پرامپتها.
این پرامپت برات مفید بود؟
پرامپتهای مرتبط
دیباگ ساختاریافته پایتون: علت ریشهای، محل باگ، فیکس و تست کوچک — نه بازنویسی کل پروژه.
ریویو ساختاریافته: Critical، Major، Minor، نکات مثبت و چکلیست merge.
طراحی REST: endpointها، JSON نمونه، خطاها، auth و versioning — قبل از کدنویسی.
عبارت منظم دقیق با توضیح گروهها، مثال match و ضدمثال.
سؤالات پرتکرار
خروجی TypeScript هم میدهد؟+
اگر بخواهی در محدودیتها بنویس «نسخه TypeScript هم بده».
برای Node و مرورگر فرق دارد؟+
برای utility خالص معمولاً یکی است؛ اگر API مرورگر/Node لازم است محیط را بنویس.
آیا تست هم مینویسد؟+
با افزودن «۳ تست vitest/jest هم بنویس» میتوانی گسترشش دهی.
چطور از کپی مستقیم در پروژه استفاده کنم؟+
کد را کپی کن، edge caseها را با داده واقعی چک کن، بعد در Araaye AI ریویو بگیر.
برای React hook هم مناسب است؟+
برای تابع خالص بله؛ برای hook بگو «یک custom hook بنویس» تا ساختار عوض شود.
این پرامپت را با GPT، Claude و Gemini همزمان اجرا کن و بهترین پاسخ را انتخاب کن
در حالت Compare Mode همان پرامپت را یکبار میفرستی و پاسخ سه مدل را کنار هم میبینی — بدون کپیکردن مجدد یا جابهجایی بین تبها.
یا به کتابخانه پرامپتهای آماده برگرد.