<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های هادی نوروزی</title>
        <link>https://virgool.io/feed/@hadinorouzi</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-06-06 23:45:05</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/49292/avatar/Bkl5Hd.png?height=120&amp;width=120</url>
            <title>هادی نوروزی</title>
            <link>https://virgool.io/@hadinorouzi</link>
        </image>

                    <item>
                <title>قراردادهای زبان Dart</title>
                <link>https://virgool.io/flutter-community/%D9%82%D8%B1%D8%A7%D8%B1%D8%AF%D8%A7%D8%AF%D9%87%D8%A7%DB%8C-%D8%B2%D8%A8%D8%A7%D9%86-dart-v34qkd3qkqrv</link>
                <description>در هر زبان برنامه نویسی قرارداد هایی وجود داره که برگرفته از لایبرری های استاندار خود اون زبان هست و رعایت آن ها در تیم ها باعث فهم بهتر کد برای دیگران و یکپارچگی میشود.به اون Convention یک زبان و یا به طور کلی تر که در جاهای دیگر مثل طراحی استفاده میشود  Style Guide گفته میشه.در دارت برای نام گذاری از سه حالت استفاده میشود:1. UpperCamelCase2. lowerCamelCase3. lowercase_with_underscoresکلاس ها ٬ enum ها ٬ typedef ها و نوع پارامترهای توابع باید UpperCamelCase باشند.class HttpRequest {}
typedef Camel = ...همینطور در extension ها که در نسخه ۲.۷ اضافه شده از UpperCamelCase استفاده میشه.extension MyFancyList&lt;T&gt; on List&lt;T&gt; { ... }نام لایبرری ها ٬ پکیج ها ٬ پوشه ها و فایل های سورس کد رو lowercase_with_underscores بنویسیم.library peg_parser;                 // library name
import &#039;file_system.dart&#039;;           // 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 &#039;dart:async&#039;;
import &#039;dart:html&#039;;

import &#039;package:bar/bar.dart&#039;;
import &#039;package:foo/foo.dart&#039;;

import &#039;util.dart&#039;;
import &#039;src/error.dart&#039;;
import &#039;src/foo_bar.dart&#039;;به همراه 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</description>
                <category>هادی نوروزی</category>
                <author>هادی نوروزی</author>
                <pubDate>Sun, 07 Jun 2020 19:24:33 +0430</pubDate>
            </item>
            </channel>
</rss>