G.Ride Renting من جديد – الجزء السادس


هنا احنا بنكمل Coding مفيش خطوة جديدة مجرد بننفذ الي خططنا ليه في Design phase


هبدا اكتب Filament Resource الي هنقدر نتحكم في Geo-fence منه ، و انا بكتب لقيت نفسي محتاج اعمل هيكون عندي Data موجودة لل Services ، فبدات اعمل Database seeder ، الحقيقة مهم و انت بتعمله ان يكون اقرب ما يكون للواقع عشان يسهل علي Frontend team انهم يفهموا ال Values و احيانا كثير بيكون سبب لمشاكل مش متوقعه .

انا هنا هبدا اعمل Database seeder لل Services هبدا بال Factory عشان اتاكد انه بيغطي كل colums الي عندنا الي مش هيكون فارق معايا اعدل فيها زي created_at مثلا .

سهل مش كده ؟

كان في تحدي هنا بسيط هو ان Extract ال Points من CSV File ، الاحسن لما بتكون شغال علي Logic معين و تلاقي ان في نقطة ممكن تستعملها اكثر من مرة او الكود بتاعك بدا يطول زيادة عن اللزوم انك تبدا تقسم Code block ده لشوية Functions ده هيخلي الكود بتاعك مش محتاج Comments لانه Readable بسهولة

ال Validation من النقط المهمة عشان نتاكد ان ال User كتب المعلومة بالشكل الصحيح الي احنا متوقعينه ، اهمالنا في مرحلة Validation هيوصلنا ل Bugs كثيرة لما يبدا User يدخل inputs غير متوقعة لينا .

خلينا ناخذ مثال افضل تخيل في Geo-Fence الي انت بتسال ال user عليه رفع ملف فيه اكثر من Geo-Fence ؟

ماذا لو كان رفع ملف Geo-Fence اصلا فيه مش صحيح عبارة عن خط مثلا بدايته مش زي نهايته.

كل دي مشاكل ممكن توصلنا ل Bugs في Production بسهولة جدا من ال User و ده هيزود عبئ ال support علينا بشكل اكبر.

بدات باني اعمل Custom rule لل Validation عشان اقدر كمان استعملها في اي Form تانية بعدين و يكون Code يتقري بسهولة

هبدا باني اعمل Helper يكون فيه بعض Functions الي ممكن احتاجها عشان اتعامل مع Google My Maps file بسهولة

ال Function دي باختصار بتطلع ليا Points و ممكن يكون الملف فيه اكثر من Geo-Fence.

ال function دي بتتاكد من ان Geo-fence الي المستخدم رفعه صح عن طريق Points ، انا مكنتش اعرف ازاي اتاكد ان ال Geo-fence صحيح فسالت ChatGpt و هو كمان كتب function ليا كثر خيره .

دي ال Custom rules الي عملتها و اقدر استعملها في اي Validation بسهولة بعدين زي ما استعملتها في Create حاليا .

اننا فصلنا function المسؤولة عن Extract points من الملف سهل علينا ال Validation و سهل علينا في مرحلة Creation .

مهم جدا ان الكود يكون سهل ان اي فرد في التيم يفهمه و كل ما تلاقي في Code block بيعمل حاجة معينة افصله في function و سميها باسم المهمة الي بتعملها عشان تقدر تخلي الكود سهل علي اي شخص .

يتبع ….


Posted

in

by

Tags:

Comments

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *