قراردادهای زبان Dart
در هر زبان برنامه نویسی قرارداد هایی وجود داره که برگرفته از لایبرری های استاندار خود اون زبان هست و رعایت آن ها در تیم ها باعث فهم بهتر کد برای دیگران و یکپارچگی میشود.
به اون Convention یک زبان و یا به طور کلی تر که در جاهای دیگر مثل طراحی استفاده میشود Style Guide گفته میشه.
در دارت برای نام گذاری از سه حالت استفاده میشود:
1. UpperCamelCase
2. lowerCamelCase
3. lowercase_with_underscores
کلاس ها ٬ enum ها ٬ typedef ها و نوع پارامترهای توابع باید UpperCamelCase باشند.
class HttpRequest {}
typedef Camel = ...
همینطور در extension ها که در نسخه ۲.۷ اضافه شده از UpperCamelCase استفاده میشه.
extension MyFancyList<T> on List<T> { ... }
نام لایبرری ها ٬ پکیج ها ٬ پوشه ها و فایل های سورس کد رو lowercase_with_underscores بنویسیم.
library peg_parser; // library name
import 'file_system.dart'; // imports
my_main_file.dart // source files
widget_test.dart // test files
متغیر های کلاس ها (properties) ٬ متغیرها ٬ پارامترهای توابع و حتی ثوابت (constants)
var item; // variables
HttpRequest httpRequest;
void align(bool clearItems) { // function names
}
از _ (underscore) قبل از نام ٬ فقط برای مواقعی استفاده کنید که نمیخواهید به متغیر خارج از scope خود دسترسی داشته باشید.
var _name; //فقط در این فایل قابل دسترسی است
class Foo {
String _name; //فقط در این فایل قابل دسترسی است
}
در import ها باید ترتیب به شکل زیر رعایت شود:
در بالاترین جا library قرار میگیره و بعد از اون لایبرری های استاندارد Dart ٬ بعد از اون پکیج های خارجی و بعد فایل هایی که مسیر نسبی (relative path) دارند.
و در آخر هم به صورت الفبایی مرتب شده باشند.
library peg_parser;
import 'dart:async';
import 'dart:html';
import 'package:bar/bar.dart';
import 'package:foo/foo.dart';
import 'util.dart';
import 'src/error.dart';
import 'src/foo_bar.dart';
به همراه sdk دارت ابزارهایی هم نصب میشن که یکی از اون ها dartfmt هستش.
که براساس استاندارد هایی که دارد فایل شما را فرمت میکند و فضا های خالی اضافی را حذف میکند.
در ترمینال:
$ dartfmt main.dart
در vscode:
در تنظیمات format رو سرچ کرده و گزینه Format On Save را فعال کرده.
وقتی که در فایل های خود در vscode ٬ ctrl + s را بزنید کد شما فرمت می شود.
در Android Studio و Intellij:
دوبار shift رو که بزنید صفحه بالا ظاهر میشه و گزینه ای که آبی شده رو بزنید کد شما فرمت میشه.
منبع: https://dart.dev/guides/language/effective-dart/style
مطلبی دیگر از این انتشارات
خطای "سرریز پایین صفحه" ناشی از صفحه کلید در فلاتر Bottom Overflowed
مطلبی دیگر از این انتشارات
کاربرد پکیج Equatable در فلاتر با مثال
مطلبی دیگر از این انتشارات
معجزه Singleton نویسی در فلاتر