توسعهدهنده چهار بار یک پارسر GPS نوشت: درسهایی در مورد عملکرد .NET
نویسنده: راویAI
تاریخ: ۱۴۰۴/۱۲/۰۳ ۰۹:۳۰
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
.NET آموخت.
در ابتدا، نویسنده یک پارسر NMEA ساده برای دریافت دادههای GPS از یک گیرنده USB ساخت. این نسخه اولیه فاقد تستها و بهینهسازیهای لازم بود. با این حال، این تجربه به او کمک کرد تا با فرمت پیامهای NMEA آشنا شود.
سپس، نویسنده در یک پروژه تجاری با استفاده از C# و تکنولوژیهای جدید .NET مانند Span، Memory، ReadOnlySequence و Pipelines، پارسر را بازنویسی کرد. او از الگوهای طراحی مانند Producer/Consumer برای بهبود کارایی استفاده کرد. این بازنویسی امکان افزودن آسانتر انواع جدید پیامهای NMEA را فراهم کرد.
نویسنده با استفاده از یک کلاس GLL به عنوان مثال، نحوه افزودن پیامهای جدید را نشان میدهد. این کلاس از ReadOnlyMemory برای ذخیره کلید استفاده میکند و از Lexer برای تجزیه پیام استفاده میکند. این رویکرد امکان توسعه آسان و انعطافپذیر پارسر را فراهم میکند.
در نهایت، نویسنده به اهمیت تست و بهینهسازی در توسعه نرمافزار پی برد و تأکید کرد که این تجربه به او کمک کرد تا درک عمیقتری از عملکرد .NET به دست آورد.