استفاده بد از تکنولوژی

گاهی پیش میاد که توی کدهایی که میخونم از برنامه نویسهای دیگه مشکلات زیر رو توشون میبینم:

1.از یک Framework استفاده شده ولی از تمامی قابلیتهاش استفاده نشده و گاهی میبینیم قابلیتی که توی فریمورک به خوبی و استاندارد پیاده سازی شده رو استفاده نکرده و خود شخص اون قابلیت رو کد زده

2.کتابخانه یا فریمورکی نصب شده و قابلیتی داره ولی از اون استفاده نشده و برای اون قابلیت کتابخانه دیگری نصب شده

دلیل این اشتباه اینه که برنامه نویس مستندات اون فریمورک و کتابخانه رو نخونده. کد زیر مثالی از حالت اوله. ببینید در ادامه یک فرم جنگو Django میبینیم:

و کد زیر view هست که توی اون از این فرم استفاده شده:

مشکل کجاست؟ برنامه نویس اومده مقدار فیلدهایی که از template ارسال شده POST با استفاده از request.POST.get گرفته شده. بعد برنامه نویس اومده field validation (اعتبارسنجی فیلدها) رو انجام داده. بعد اگر توی ورودی فیلد ایرادی وجود داشت اومده یک پیام ارور به کاربر نشون داده. تمامی این کاری که برنامه نویس براش کد زده توی django.forms.Formپیاده سازی شده. به بهترین شکل توی جنگو پیاده سازی شده. در حالی که با تست این view مشکلات خیلی زیادی هست.

با استفاده از ServiceForm.is_valid() تمامی فیلدها validate و اعتبار سنجی میشن و اگر ایرادی داشته باشه همونجا فیلد قرمز رنگ میشه و ارور مرتبط نشان داده میشه اما در این حالت اگر یک فیلد required توی فرم خالی بمونه ارور مرتبط به کاربر نشان داده نمیشه. مشکل دوم اینه که مثلا اگر یک فیلد ایمیل یا پسورد باشه ایمیل با روش های استاندارد اعتبارسنجی میشه و پسورد هم همینطور.

مشکل بعدی این کد اینه که کد کثیفه و از طرفی همین الان ممکنه چنتا باگ داشته باشه که با ورودی های مختلف خودشو نشون میده و ما الان نمیدونیم وجود داره یا نه.

همینطور که توی این لینک میبینید فرم جنگو چند لایه صحت سنجی داره.

همیشه اگر از فریمورک یا کتابخانه ای استفاده میکنید حتما تمامی مستنداتش رو بخونید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *