تنظيف الكود في Flutter وحل Widget Hell بسرعة

x32x01
  • بواسطة x32x01 ||
  • #1
😵‍💫 بتتوه وسط الأقواس؟ الحل السحري للكود النضيف في Flutter! 🧹✨
لما تبدأ مع Flutter، أكيد هتقع في فخ مشهور:
كود:
Scaffold(
  body: Column(
    children: [
      Row(
        children: [
          Container(
            child: Text('Hello'),
          ),
        ],
      ),
    ],
  ),
);
وبعدين فجأة تلاقي نفسك قدام "هرم" من الأقواس في آخر الملف 😱
مش فاهم أي Widget بدأت فين وانتهت فين!
ده اللي بنسميه Widget Hell أو جحيم الويتجت 🤯

✨ الحل: Extract Widget​

الميزة اللي فرقت معايا جدًا هي Extract Widget في VS Code.
بدل ما الكود كله يبقى في فايل واحد 500 سطر، ممكن بضغطة زرار تفصل أي جزء من الكود لـ Widget مستقلة.
كود:
class MyPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        children: [
          MyCustomButton(),
          MyCustomCard(),
        ],
      ),
    );
  }
}

class MyCustomButton extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ElevatedButton(
      onPressed: () {},
      child: Text('Click Me'),
    );
  }
}

class MyCustomCard extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Card(
      child: Padding(
        padding: const EdgeInsets.all(8.0),
        child: Text('Hello Widget!'),
      ),
    );
  }
}



💡 ليه لازم تعمل Extract Widget؟​

1️⃣ كود أنضف الـ build method بتبقى رايقة وسهلة القراءة 😌
2️⃣ سهولة التعديل لو عايز تعدل زرار أو Card تعدله في مكان واحد ويأثر على كل الاستخدامات
3️⃣ أداء أفضل Flutter بيتعامل بذكاء مع الـ const widgets المفصولة، وده بيخلي الأداء أسرع ⚡

📝 نصيحة للمبتدئين​

"قسم تسد"!
ماتخليش الصفحة كلها في ملف واحد كبير.
قسم الكود على Widgets صغيرة، وهنشوف الكود أنضف وأسهل في التعديل وDebugging 🎯
 
مواضيع مشابهة
x32x01
الردود
0
المشاهدات
3
x32x01
x32x01
x32x01
الردود
0
المشاهدات
6
x32x01
x32x01
x32x01
الردود
0
المشاهدات
5
x32x01
x32x01
x32x01
الردود
0
المشاهدات
60
x32x01
x32x01
إحصائيات المنتدى
المواضيع
750
المشاركات
780
الأعضاء
13
آخر عضو مسجل
Mostafa
عودة
أعلى