قراردادهای زبان 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
مطلبی دیگر از این انتشارات
زبان Dart را بیشتر بشناسیم: record
مطلبی دیگر از این انتشارات
توضیحاتی کوتاه در مورد isolate و multi thread در فلاتر
مطلبی دیگر از این انتشارات
چرخه حیات عناصر ListView در فلاتر