رکاب زدن به صورت زاویه ای: سناریوهایی که باید از آن اجتناب کنید

فریمورک های نسل جدید مبتنی بر جاوا اسکریپت مانند angular برای غلبه بر کاستی های جاوا اسکریپت ایجاد شده اند. اغلب توسعه دهندگانی که در این چارچوب ها تازه کار هستند، به جای استفاده از ویژگی های جدید Angular، کدهای قدیمی جاوا اسکریپت را پیاده سازی می کنند. در اینجا چند سناریو قابل اجتناب وجود دارد.
-
اجتناب از Observables برای استفاده از Async در انتظار و وعده است.
Async await یک ویژگی جاوا اسکریپت برای عملیات ناهمزمان است. اما angular با کتابخانه بهتر و قدرتمندتر Rxjs عرضه می شود. Async await نمی تواند این عملیات را پس از اجرا لغو کند در حالی که Rxjs می تواند آن را لغو کند. Async await فقط از یک انتشار برای تماس پشتیبانی می کند، اما Rxjs می تواند برای هر تعداد بار اجرا شود.
وقتی کتابخانه بهتری مانند Rxjs دارید، استفاده از async await بی معنی است. از آنجایی که Angular مبتنی بر جاوا اسکریپت است، انتظار غیر همگامسازی مطمئناً روی Angular اجرا خواهد شد. اما این بدان معنا نیست که شما باید از آن استفاده کنید. هر کاری که async await می تواند انجام دهد، Rxjs می تواند بهتر و حتی بیشتر انجام دهد.
-
استفاده از فرمهای واکنشگرا و فرمهای مبتنی بر الگو با هم
به نظر می رسد برخی از توسعه دهندگان از فرم های واکنشی و فرم های مبتنی بر الگو با هم استفاده می کنند.
فرمهای واکنشگرا توسط اصل پیوند دادههای یک طرفه هدایت میشوند که شامل مدیریت وضعیت فرمها با استفاده از یک رویکرد تغییرناپذیر است. این بدان معنی است که تغییرات در حالت فرم به گونه ای انجام می شود که از تغییر مستقیم آنها پس از تنظیم اولیه جلوگیری می کند. با پیروی از این رویکرد، جدایی واضح تری از نگرانی ها بین الگو، که ساختار فرم را تعریف می کند، و منطق مؤلفه، که رفتار و تعاملات فرم را مدیریت می کند، وجود دارد. این جداسازی قابلیت نگهداری و خوانایی پایگاه کد را افزایش می دهد و درک و نگهداری آن را آسان تر می کند.
را
ngModel
دستورالعمل مقدار تایپ شده توسط کاربر را با فشار دادن هر کلید پیگیری می کند، و همچنین وضعیت اعتبار کنترل فرم خاص را پیگیری می کند. NgModel به اتصال “دو طرفه” پایبند است.هنگام اجرای این زاویه ای یک هشدار در حالت توسعه تولید می کند
در واقع فرمهای واکنشگرا نسخه بهتر و غنیتر از فرمهای مبتنی بر قالب هستند
-
ایجاد سرویس مشترک برای تماس با Api
Angular بر روی تایپ اسکریپت ساخته شده است که یک زبان قوی تایپ شده است. این بدان معناست که در زمان کامپایل، قوانین تایپ سخت تری وجود دارد، که به این معنی است که احتمال وقوع خطاها و استثناها در طول کامپایل بیشتر است. بیشتر این قوانین بر انتساب متغیر، مقادیر بازگشتی تابع، آرگومان های رویه و فراخوانی تابع تأثیر می گذارند.
هنگامی که سرویس مشترک برای همه فراخوانیهای Api ایجاد میشود، نوع آن در موارد معمولی به عنوان هر نوع داده میشود که مزایای تایپ قوی را نادیده میگیرد.
-
عدم استفاده از angular cli برای ایجاد فایل های جدید
اگر از cli زاویهای استفاده نمیکنید، احتمال بیشتری وجود دارد که قرارداد نامگذاری در جایی شکسته شود و کد را کمتر خوانا میکند.
-
ایجاد یک ماژول واحد برای همه اجزای مشترک
بسیاری از توسعه دهندگان تمام اجزای مشترک را به یک ماژول اضافه می کنند و آن را ماژول اشتراکی می نامند. این در واقع بارگذاری صفحه را افزایش می دهد و رندر را کندتر می کند. اجزایی که برای صفحه فعلی مورد نیاز نیستند از ماژول مشترک بارگیری می شوند. با کامپوننت مستقل این مشکل تقریباً حل شده است. اما در برنامه های زاویه ای با استفاده از نسخه قدیمی این مشکل وجود دارد.
بهترین راه حل برای رفع این مشکل این است که همه اجزای مشترک وجود داشته باشند
در یک پوشه مشترک، هر جزء باید روی ماژول باشد. پس فقط
یک ماژول باید برای آن جزء خاص وارد شود. و یا به
به روز رسانی به نسخه های جدیدتر کارها را بسیار ساده تر کنید.
نتیجه
وقتی یک فریم ورک ویژگی جدیدی را در اختیار شما قرار می دهد، به جای اینکه به روش های قدیمی که به آن عادت کرده اید پایبند باشید، نهایت استفاده را از آن ببرید. فرآیند تکیه برای توسعه دهنده سودمند است.