في قواعد تبع الDart,Flutter
وإتباع هذه قواعد البسيطة—راح تمنع عنك أخطاء “غبية” وتسهل عيك عدة أشياء ،،
في منشور اليوم جمعت بعض القواعد المهمة وهي :
1️⃣ اتبع التوثيق الرسمي:
Flutter و Dart docs هم المصدر المعتمد.
🚦 «لازم» (green box) و «أفضل ممارسات» (blue box) موجودين فيها.
مثال:
• استخدم Provider/Bloc طبقًا للأمثلة في docs.
• نفّذ dart format عشان تلتزم style guide.
2️⃣ الأسماء قصيرة ومضبوطة "Short and Precise Named"
الاسم يكون واضح وبدل ما يكون طويل، خليه مختصر.
❌️خطأ: userProfileInformationScreen
✔️صح: UserProfileScreen
3️⃣ أسماء المجلدات
استخدم snake_case للمجلدات.
مثال:
• model_classes/
• auth_screens/
• data_services/
4️⃣ أسماء الملفات
برضه snake_case، ولازم تتطابق مع المجلد والكلاس.
مثال:
• my_home_page.dart
(يحتوي على : class HomePage)
• user_repository.dart
• login_form_widget.dart
5️⃣ Import Prefixes
لما تستعمل as، خليه snake_case.
مثال:
import 'package:http/http.dart' as http_client;
import 'package:provider/provider.dart' as provider_lib;
6️⃣ أسماء الكلاسات والـ Enums
UpperCamelCase (PascalCase)
للكلاس والـ enum والقيم.
مثال:
• UserService
• LoginPage
• enum ConnectionState { Waiting, Done, Error }
7️⃣ الClass Memebers
(Methods، Variables،Parameters، Named Constructors)
lowerCamelCase للمتغيرات والدوال .
المتغيرات الPrivate تبدأ بـ _.
مثال:
• userName
• increasePrice()
• MyClass.fromMap(Map<String, dynamic> map)
8️⃣ Default Constructor ال
اسمه نفس اسم الكلاس (UpperCamelCase)، ما ينطبق عليه lowerCamelCase.
مثال:
• User()
داخل class User { … }
9️⃣ الدوال (Functions)
تستخدم lowerCamelCase.
مثال:
• calculateSum()
• fetchUserData()
🔟 الثوابت (const)
في Dart الconst يستخدم lowerCamelCase
(مش ال ALL_CAPS).
مثال:
• const int maxAttempts = 3;
• const String appTitle = 'My App';
1️⃣1️⃣ الAcronyms and Abbreviation
أكتبها كـ كلمات عادية (PascalCase) إذا أكثر من حرفين.
إلا حرفين لو هما بالحروف الكبيرة بالإنجليزي (ID, TV, UI).
أمثلة صحيحة :✔️
Http // hypertext transfer protocol
Nasa // national aeronautics and space administration
Uri // uniform resource identifier
ID // identifier
TV // television
Mr // mister (غير capitalized في الإنجليزي)
أمثلة خاطئة:❌️
HTTP, NASA, URI
// خطأ: طويلة فلازم Http, Nasa, Uri
Id, Tv, Ui // “ID” و“TV” لازم كلها caps
MR, ST, RD // خطأ: Mr, St, Rd
"لأنه Not Capitalized in English "
1️⃣2️⃣ باراميتيرز callback ال غير مستعملة:
بتستخدكم "_ "كـ wildcard للي ما تستخدمه.
مثال:
future.then((_) {
print('Done');
});
stream.onError((_, __) {
print('Error');
});
✨ الخلاصة:
اتبع التوثيق الرسمي أوّلًا.
- سمّ كلاس بالـ PascalCase، ملفات ومجلدات بالـ snake_case.
- اختصر الأسماء وتجنب الكلمات الزائدة.
- التزم lowerCamelCase للمتغيرات والدوال والثوابت.
بهالطريقة يظل كودك Flutter مرتب، قابل للصيانة، و ما تحسّ أنت أو اللي يجي بعدك أنه “كود متعب بالقراءة والمنظر 😅”و يجيب مشاكل بعدين.