متغیر داشته باشید. با پیچیده کردن لیست متغیرها، پروژه آموزش برنامه نویسی به کودکان شما را به شدت ناسازگار می کند. مقابله با پروژه های سازمان نیافته سخت تر است. مقادیر برگشتی به شما این امکان را می دهد که این کار را هر چند بار که می خواهید بدون استفاده از هیچ متغیری انجام دهید. همچنین، متغیرهای محلی (فقط در یک اسکریپت خاص موجود است) به این موضوع کمک می کنند زیرا مقادیری که توابع به غیر از خروجی خود استفاده می کنند نیز حذف می شوند.
سیستم نظرات متاسفم، اما سیستم نظر خراش فعلی وحشتناک است. اول از همه، چسباندن نظر به یک اسکریپت (نظر با اسکریپت حرکت می کند) بسیار سخت تر از آن چیزی است که لازم است. نصف وقت، من این کار را درست انجام نمی دهم. دوم، نحوه سازماندهی نظرات نیز بسیار بد است. نظر سعی می کند از سر راه همه اسکریپت ها خارج شود، اما معمولاً به سمت دیگر صفحه می رود. سوم، نظرات بسیار بزرگ هستند و بلاک های زیادی را می پوشانند. این مشکل هنگام انجام پاکسازی بلوک بدتر می شود زیرا پاکسازی بلوک همه نظرات را نادیده می گیرد. حتی فشرده کردن کامنت هم اشکالاتی دارد. عمدتاً شخصیتی که آموزش برنامه نویسی به کودکان می توان شخصیت های بسیار کمی را در نظر جمع و جور قرار داد. "..." خیلی زود می آید. حتی اگر این موارد را پایین بیاورید، به هم ریختن نظرات بسیار آسان است. و وقتی یک sprite/script را در کوله پشتی خود قرار می دهید، هیچ یک از نظرات کپی نمی شود. این چیزها (و موارد دیگر) باعث میشود که کامنتهای خارقالعاده به یک کابوس برای مقابله با آن تبدیل شوند (به همین دلیل است که من حوصله اضافه کردن نظرات به کدم را ندارم).
ویرایشگر صدا این یکی که من چیز زیادی برای گفتن ندارم. در اصل، روشی که شما افکتها را روی صداها در حالت اولیه اعمال میکنید بسیار عجیب است. ابتدا باید نحوه انتخاب یک بخش را بیابید (این واضح نیست). سپس، شما باید بفهمید که هر اثر چه می کند. من فکر میکنم که جلوهها تنها چیزی است که بدون کمک داخلی قابل استفاده است. این کار باعث می شود که صدا واقعا سخت باشد.
گزینه های پارامتر ناکافی در حال حاضر، تنها 3 نوع پارامتر بدون بلوک های هک شده مجاز است. اما بسیاری دیگر از خراش قادر به وجود دارد. 2 مثال اصلی از این پارامتر پارامتر متغیر و پارامتر لیست هستند. به دلیل عدم وجود پارامتر متغیر، باید برای نتیجه هر تابع یک متغیر جداگانه ایجاد کنید. اگر می خواهید آن نتیجه به متغیر دیگری منتقل شود، باید یک خط کد دیگر اضافه کنید. با پارامتر متغیر، نتیجه را می توان مستقیماً در متغیر مورد نظر ذخیره کرد. پارامتر لیست اساساً یکسان است، اما شدیدتر است. در حال حاضر آموزش برنامه نویسی به کودکان هیچ راهی برای ارسال لیست به یک تابع وجود ندارد. این بدان معناست که اگر میخواهید کاری را در یک لیست خاص انجام دهید، باید آن لیست را در فهرست جهانی دیگری کپی کنید و سپس نتیجه را در لیست اول کپی کنید، یا یک بلوک سفارشی جداگانه برای هر لیستی که میخواهید استفاده کنید ایجاد کنید. هر دوی این راه حل ها می توانند خیلی سریع آزاردهنده شوند. با پارامتر لیست، هیچ یک از این موارد مورد نیاز نیست. فقط لیست مورد نظر خود را در منوی کشویی انتخاب کنید. مطمئناً می توان از بلوک های هک شده برای این منظور استفاده کرد، اما آنها مشکلات خاص خود را دارند. برای یک چیز، آنها خراش های جدید را اشتباه می گیرند. برای دیگری، اگر یک بلوک هک شده را بشکنید، نمی توانید آن را تعمیر کنید مگر اینکه دوباره آن را هک کنید. این برای برخی از موقعیتهای واقعا آزاردهنده و دشوار است.
هیچ ابزار اشکال زدایی مطلقاً وجود ندارد. این یکی واقعا معنی نداره همانطور که احتمالاً اکثر شما می دانید، scratch هیچ ابزاری برای رفع اشکال ندارد. بدون گزارش خطا، بدون خرابی، بدون کنسول، بدون هیچ چیز. در واقع، به نظر می رسد که آنها برای اجتناب از این ابزارهای اشکال زدایی، تمام تلاش خود را می کنند. به عنوان مثال، داشتن یک بلوک با یک متغیر تعریف نشده در آن می تواند مشکل ساز باشد، به خصوص اگر آن متغیر را به تازگی حذف کرده باشید. به جای گزارش یک خطای ساده، scratch تصمیم می گیرد آن متغیر را برای شما ایجاد کند. سپس متوجه می شوید که متغیری که به تازگی حذف کرده اید بازگشته است. آموزش برنامه نویسی به کودکان دوباره پاکش میکنی فایده نداره شما مجبور هستید هر بلوکی را که از آن متغیر استفاده می کند ردیابی کنید و آن را بدون حذف هیچ بخشی از پشته دیگر حذف کنید (به هر حال انجام این کار بسیار سخت است). انجام این کار می تواند بسیار دردسرساز باشد. و این فقط یک مثال است. یکی دیگر از بلوک های تعریف نشده تقریبا اجتناب ناپذیر است که هنگام انتقال اسکریپت هایی که حاوی بلوک های سفارشی به پروژه های دیگر هستند ایجاد می شود. این واقعا می تواند شما را جذب کند. اما شاید مضحک ترین چیز در رابطه با این مورد، عدم امکان مشاهده آنچه اتفاق افتاده یا در حال رخ دادن است باشد. در حال حاضر، تنها پشتیبانی برای آن بسیار ge استهایلایت neric در اطراف اسکریپتی که در حال حاضر در حال اجرا است. هرچه اسکریپت بزرگتر باشد، هایلایت کمتر کمک کننده می شود. فقدان این ابزارهای رفع اشکال (و بسیاری دیگر) باعث می شود که اشکال زدایی به یک کابوس کامل تبدیل شود. برخی از این ابزارها را می توان به صورت دستی اضافه کرد، اما برای رفع چند باگ کار بسیار زیادی است.
هیچ رشته ای در ابر مجاز نیست. این واقعیت که رشته ها در متغیرهای ابری مجاز نیستند تقریباً هر تعامل با ابر را پیچیده می کند. بلوک های پیچیده مترجم و رونویس برای ذخیره چیزی که نشان دهنده یک رشته در ابر آموزش برنامه نویسی به کودکان است، مورد نیاز است. با لیست ها حتی پیچیده تر می شود. این بلوک های پیچیده از قبل به دلیل مورد 7 پیچیده تر شده اند.