فرض کن یه تابع داری که قراره اطلاعات کاربر رو پردازش کنه.
خیلیها این کار رو میکنن:
function processUser(user) {
if (!user) return;
// ...
}در ظاهر مشکلی نداره.
ولی پروژه که بزرگ بشه، همین ifهای پراکنده تبدیل میشن به یک کابوس.
هر تابع باید مدام احتمال null یا undefined بودن ورودی رو بررسی کنه.
اینجاست که یک اصل مهم وارد میشه:
Validate at the boundary.
یعنی داده رو همون جایی که وارد سیستم میشه اعتبارسنجی کن.
مثلاً:
API
↓
Validation
↓
Business Logic
↓
Database
نه اینکه هر تابع وسط سیستم دوباره از خودش بپرسه:
«نکنه این مقدار null باشه؟» 😅
این موضوع در پروژههای بزرگ باعث میشه:
✅ کد قابل پیشبینیتر بشه
✅ تعداد شرطهای تکراری کم بشه
✅راحتتر Debug کردن
✅ مسئولیت هر لایه مشخصتر باشه
💡 کد حرفهای فقط کدی نیست که کار میکنه؛ کدیه که بعد از بزرگ شدن پروژه هم قابل کنترل باقی میمونه.
@CodeVerse_dev