مدلهای هوش مصنوعی در نوشتن اپلیکیشنهای کوچک بهطرز شگفتآوری خوباند. اما با اطمینان در همان چند مورد، بارها اشتباه میکنند. وقتی اینها را بشناسید، در چند ثانیه تشخیصشان میدهید و دقیقاً به هوش مصنوعی میگویید چه چیزی را عوض کند.
۱. چیزها را از اینترنت بارگذاری میکند
یک اسکریپت از CDN، یک Google Font، یک عکس استوک با URL. همه تا وقتی گوشی آفلاین نشده کار میکنند. بگویید: «همه منابع خارجی را حذف کن. CSS و JavaScript را درونخطی کن و از فونتهای سیستم استفاده کن.»
۲. پل بومی را خیلی زود صدا میزند
پل بومی اپلیکیشن، window.FreeApp، ممکن است لحظهای بعد از شروع اسکریپت شما برسد. کدی که آن را در خط اول صدا میزند گاهی شکست میخورد. راهحل این است که منتظر رویداد freeappready بمانید، یا اگر پل از قبل آنجاست فوراً اجرا کنید:
function start() { FreeApp.statusBar('#E2552A'); } if (window.FreeApp) start(); else window.addEventListener('freeappready', start, { once: true });
۳. ذخیره کردن را فراموش میکند
همهچیز کار میکند، بعد اپلیکیشن را میبندید و دادهها رفتهاند. بگویید: «بعد از هر تغییر وضعیت را در localStorage ذخیره کن و هنگام شروع بارگذاری کن.»
۴. برای همهچیز از alert() استفاده میکند
alertهای مرورگر در یک اپلیکیشن ناجور به نظر میرسند. از هوش مصنوعی بخواهید پیامها را داخل صفحه نشان دهد، یا وقتی پل در دسترس است از FreeApp.toast() استفاده کند.
۵. دکمهها خیلی کوچکاند
اندازههای دسکتاپ باعث میشود برای زدن یک دکمه سه بار بزنید. «هر نقطه لمس دستکم ۴۴ پیکسل باشد» درستش میکند.
۶. فرورفتگی دوربین را نادیده میگیرد
سربرگها زیر نوار وضعیت یا فرورفتگی دوربین میروند. viewport-fit=cover را به تگ viewport اضافه کنید و بالا را پد کنید با env(safe-area-inset-top).
۷. نام فایلها را قاطی میکند
وقتی هوش مصنوعی کد را به چند فایل تقسیم میکند، گاهی به styles.css پیوند میدهد ولی فایل را style.css نام میگذارد. اگر اپلیکیشن شما متن بدون استایل نشان میدهد، نامها را مقایسه کنید. درخواست یک فایل واحد کلاً مشکل را از بین میبرد.
۸. تابع از خودش درمیآورد
مدلها گاهی توابع بومی را صدا میزنند که وجود ندارند. اگر چیزی بیصدا کاری نمیکند، نام را با مرجع JavaScript API مقایسه کنید، سپس امضای درست را در چت بچسبانید.
چطور درخواست اصلاح کنیم
مشخص باشید و زمینه بدهید. «روی Android وقتی ذخیره را میزنم هیچ اتفاقی نمیافتد و بعد از باز کردن دوباره فهرست خالی است» پاسخ بسیار بهتری میگیرد تا «کار نمیکند». اگر میتوانید، بخشی از کد را که فکر میکنید غلط است بچسبانید. اصلاحات کوچک و متمرکز از درخواست بازنویسی کامل بهتر است.