YAGNI اختصار You Aren’t Gonna Need It، أي “لن تحتاج إليه”. المبدأ يقول: لا تضف ميزة أو كودًا لمشكلة قد تحدث في المستقبل، بل ابنِ ما تحتاجه الآن فقط.
مثال
تبني مدونة بسيطة، فتفكر: “ربما أحتاج لاحقًا دعم عشر لغات، ونظام صلاحيات معقدًا، وتطبيق جوال”. حسب YAGNI، ابدأ بمدونة تعمل بلغة واحدة. إذا جاءت الحاجة فعلًا، تضيف الميزة وقتها.
لماذا؟
- كثير من الميزات المتوقعة لا تُستخدم أبدًا.
- كل كود إضافي يحتاج صيانة واختبارًا.
- عندما تأتي الحاجة الحقيقية، ستفهمها أفضل وتبنيها بشكل أصح.
جرّبت هذا بنفسي: أبسط نسخة تعمل اليوم أفضل من نسخة “كاملة” لا تنتهي.