بهترین رویه ها و ترفندهای فلاتر – راهنمای کاربردی

۲۹۰ بازدید
آخرین به‌روزرسانی: ۵ مهر ۱۴۰۲
زمان مطالعه: ۴ دقیقه
دانلود PDF مقاله
بهترین رویه ها و ترفندهای فلاتر – راهنمای کاربردیبهترین رویه ها و ترفندهای فلاتر – راهنمای کاربردی

رعایت بهترین رویه‌ها و استانداردهای حرفه‌ای در هر حوزه‌ای و برای هر زبان برنامه‌نویسی حائز اهمیت بالایی است و به افزایش کیفیت کد، خوانایی، قابلیت نگهداری و پایداری کد کمک می‌کند. در این مقاله به بررسی برخی از بهترین رویه‌ها و ترفندهای فلاتر برای توسعه اپلیکیشن‌ها می‌پردازیم.

997696

قرارداد نام‌گذاری

نام کلاس‌ها، enum-ها، typedef-ها و اکستنشن‌ها باید در «حالت شتری بزرگ» (UpperCamelCase) باشند.

به کدهای زیر توجه کنید.

نام کتابخانه‌ها پکیج‌ها، دایرکتوری‌ها و فایل‌های سورس باید در «حالت ماری» (snake_case) یعنی با حروف کوچک که کلمات با زیرخط از هم جدا شده‌اند، باشد.

نام متغیرها، ثابت‌ها، پارامترها و پارامترهای نامدار باید در حالت «شتری کوچک» (lowerCamelCase) باشد:

برای فایل‌های موجود در lib از ایمپورت نسبی استفاده کنید

زمانی که از ایمپورت‌های نسبی و مطلق هم‌زمان استفاده می‌کنید، ممکن است زمانی که یک کلاس از دو روش متفاوت ایمپورت می‌شود، یک سردرگمی ایجاد شود. برای جلوگیری از بروز این سردرگمی باید از مسیر نسبی در پوشه lib/ استفاده کنید:

نوع‌های خاص برای کلاس عضو

همواره نوع عضو را در زمانی که نوع مقدارش مشخص نیست، تعیین کنید. از استفاده از var تا حد امکان خودداری کنید:

از as استفاده نکنید و از عملگر is استفاده کنید

به طور معمول عملگر تبدیل as، در صورتی که تبدیل ممکن نباشد، یک استثنا ارائه می‌کند. برای جلوگیری از صدور این استثنا می‌توانید از is استفاده کنید.

از شرط if به جای عبارت شرطی استفاده کنید

در اغلب موارد لازم است که یک ویجت را بر مبنای وجود برخی شرایط در ردیف یا ستون رندر کنیم. اگر عبارت شرطی در هر حالتی مقدار null بازگشت دهد، در این صورت باید صرفاً از شرط if استفاده کنیم:

از عملگرهای ?? و .?  استفاده کنید

استفاده از عملگرهای ?? و .? را به جای بررسی‌های null در عبارت‌های شرطی ترجیح بیشتری دارد.

از کلکسیون spread استفاده کنید

زمانی که آیتم‌های موجود از قبل در کلکسیون دیگری ذخیره شده باشند، ساختار کلکسیون spread منجر به کد آسان‌تری می‌شود.

از عملگر Cascades استفاده کنید

اگر نخواهیم یک دنباله از عملیات را روی شیء یکسانی اجرا کنیم، در این صورت باید از عملگر Cascades استفاده کنیم:

استفاده از رشته ساده

می‌توان از یک رشته خام برای جلوگیری از escape کردن علامت‌های بک‌اسلش (\) و دلار ($) استفاده کرد:

متغیرهای null را به صورت صریح مقداردهی نکنید

در زبان Dart متغیرها در زمان عدم تعیین شدن مقدار به صورت خودکار با مقدار null مقداردهی می‌شوند، بنابراین افزودن null یک کار تکراری و غیرضروری است.

از بدنه تابع‌های عبارتی استفاده کنید

در مورد تابع‌هایی که شامل صرفاً یک عبارت هستند، می‌توان از یک تابع عبارتی استفاده کرد. نمادگذاری پیکان (=>) برای تابع عبارتی استفاده می‌شود:

از فراخوانی‌های ()print خودداری کنید

هر دو متد ()print و ()debugPrint برای لاگ کردن در کنسول استفاده می‌شوند. اگر از ()print برای ارائه خروجی زیاد به صورت یک‌باره استفاده کنید، در این صورت گاهی اوقات اندروید برخی خطوط لاگ را رد می‌کند. برای جلوگیری از این وضعیت از ()debugPrint استفاده کنید.

ویجت را به ویجت‌های مختلف افراز کنید

زمانی که ()setState روی یک «حالت» (State) فراخوانی می‌شود، همه ویجت‌ها از نو ساخته می‌شوند. از این رو با افراز ویجت به ویجت‌های کوچک‌تر، می‌توانیم کاری کنیم که ()setState به بخشی از زیردرختی که UI آن در عمل باید تغییر یابد، فراخوانی بزند.

برای لیست‌های طولانی از ListView.builder استفاده کنید

زمانی که مشغول کار روی لیست‌های نامتناهی یا لیست‌های بسیار بزرگ هستید، معمولاً بهتر است از یک سازنده ListView استفاده کنید تا عملکرد کد را افزایش دهید. سازنده پیش‌فرض ListView کل لیست را به صورت یک‌باره می‌سازد. ListView.builder یک لیست کُند می‌سازد که وقتی کاربر اسکرول می‌کند، فلاتر ویجت را بسته به تقاضا می‌سازد.

از const در ویجت‌ها استفاده کنید

ویجتی که در فراخوانی setState تغییر نمی‌یابد، باید به صورت ثابت تعریف شود. این کار موجب می‌شود که ویجت از نو ساخته نشود و کارایی برنامه افزایش یابد.

سخن پایانی

امیدواریم نکاتی که در این مقاله در خصوص بهترین رویه‌ها و ترفندهای فلاتر گفتیم، مورد توجه شما قرار گرفته باشد. رعایت این نکات موجب می‌شوند که کد شما خوانایی بیشتری پیدا کند و همچنین کارایی و عملکرد آن را نیز افزایش می‌دهند.

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

بر اساس رای ۴ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
flutter-community
دانلود PDF مقاله
نظر شما چیست؟

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