اشتباهات رایج در استفاده از ایونت‌های کانستراکت 2

Paste کردن اطّلاعات در یک اکسپرشن

گاهی اوقات اطّلاعات خیلی زیادی یا حتّی کلّ محتویات یک فایل در یک اکسپرشن پیست (Paste) می‌شود. مثل این:

paste کردن اطّلاعات زیاد در ایونت‌شیت

به جای این کار از project files[1] استفاده کنید. اطّلاعات را در یک فایل متنی پیست کنید، آن را ذخیره کنید، از طریق نوار پروژه آن را وارد کنید، بعد از اکشن Request project file شیء AJAX برای بارگذاری آن استفاده کنید. حالا مگر Paste کردن اطّلاعات زیاد در یک اکسپرشن چه ایرادی دارد؟ این کار به چند دلیل بد است:

  • همه‌ی اطّلاعات پیست شده باید ساختاری مثل ساختار اکسپرشن‌های کانستراکت داشته باشند تا از ارورهای ساختاری جلوگیری شود، مثلاً کاراکترهایی که درون دابل کوتیشن (” “) قرار می‌گیرند داخل یک رشته هستند، و اگر درون آن رشته بخواهیم از کوتیشن استفاده کنیم، باید به جای یک کوتیشن دوتا کوتیشن پشت سر هم بنویسیم تا با کوتیشن ابتدا و انتها اشتباه نشود. این کار برای فرمت‌هایی مثل JSON که معمولاً در آن‌ها از دابل کوتیشن استفاده می‌شود خسته‌کننده است.
  • پیدا کردن، خواندن و تغییر دادن اطّلاعات در پنجره‌ی پارامترها سخت است.
  • برای نمایش همه‌ی اطّلاعات، ایونت‌شیت به شدّت دراز می‌شود، و برای گذشتن از ایونت مورد نظر باید خیلی پیمایش کنیم.
  • بعد از خروجی گرفتن، همه‌ی اطّلاعات در فایل js ذخیره می‌شوند. قبل از این‌که حتّی بازی بخواهد در حالت لودینگ قرار گیرد این فایل باید به طور کامل دانلود و تجزیه‌شود و در حافظه قرار بگیرد. اگر اطّلاعات زیادی را در اکسپرشنی پیست کرده باشید حجم دانلود افزایش می‌یابد، و زمان ظاهرشدن لودینگ بازی افزایش می‌یابد، و همچنین استفاده از حافظه هم افزایش می‌یابد (مخصوصاً در موبایل).
  • زمان باز کردن و ذخیره‌ی پروژه در ویرایشگر کانستراکت افزایش می‌یابد، زیرا اطّلاعات پیست شده در فایل‌های XML ذخیره می‌شوند (برای مشاهده‌ی این فایل‌ها پروژه‌تان را در حالت پوشه‌ای ذخیره کنید)، بنابراین هر بار که پروژه را باز می‌کنید باید تجزیه و تبدیل شوند.

Project file ها چنین مشکلاتی را ندارند:

  • نیازی نیست محتویّات project file را برای سازگاری با ساختار اکسپرشن‌ها ویرایش کنید.
  • پیدا کردن، خواندن و ویرایش project file خیلی راحت است.
  • ایونت شیت زیاد دراز نمی‌شود، چون برای بارگذاری این فایل‌ها فقط به یک اکشن request شیء AJAX نیاز دارید.
  • اطّلاعات، داخل فایل js نگهداری نمی‌شوند، بنابراین بازی سریع‌تر بارگذاری می‌شود و از حافظه هم کمتر استفاده می‌شود، و فقط موقعی که واقعاً لازم باشد دانلود می‌شوند.
  • چون اطّلاعات خارج از پروژه هستند، باز شدن و ذخیره‌ی پروژه سریع‌تر است.

پس اگر می‌خواهید اطّلاعات زیادی را در ایونت‌ها پیست کنید، به شدّت توصیه می‌کنیم به جای آن از project file استفاده کنید.

[1] فایل‌های اضافه‌ای که از طریق پوشه‌ی Files در نوار پروژه می‌توان وارد کرد.

سؤالات فنی خود را فقط در انجمن بپرسید. در غیر این صورت پاسخ داده نخواهد شد.
۴ نظر

افزودن دیدگاه

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

تمامی حقوق برای مرجع تخصصی کانستراکت محفوظ است.