sevelopers[0]
sevelopers[0]
خواندن ۲ دقیقه·۵ سال پیش

زجر کار بر روی مدل های اشتباه!


توی شرکت جدید که استخدام شدم اولین پروژه م یک سیستم اتوماسیون آزمایشکاه بود. قبل از من یه تیم دو سه نفری از بچه های دانشگاه، که خب قطعا طی جوی! که معمولا توی فضای دانشگاهی هست، با جنگو استارت زده بودن.

به شخصه از جنگو متنفرم و هر مرحله از پروژه که به جلو میره ازش متنفرتر میشم!

ولی خب چیزی که باعث شد زجر پروژه بیشتر بشه این بود که فرایند طراحی اولیه نرم افزار سر سری گرفته شده بود و ساده ترین مباحث طراحی مدل های و دیتابیس هم رعایت نشده بود!

از ساختار کثیف پروژه و جمع کردن همه نرم افزار فقط توی یک اپ (هر پروژه جنگو میتونه متشکل از یه سری اپ باشه) که بگذریم، این که یه بخش نه چندان کوچیک پروژه پیش رفته بود تونست متقاعدم کنه که دست به مدل ها نزنم و همینو ادامه بدم.

کم کم این خطاها خودشونو توی استخراج داده ها خودشونو نشون دادن، جایی که مثلا یک ساعت وقتم رو گرفت تا یه کوئری نه چندان پیچیده Sql بزنم!

پاسخ مسئول پروژه در جواب این که پس چرا خودت طراحی رو انجام ندادی شنیدم :

وقت نداشتم

:(

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

گاهی به مشکلاتی بر میخوردم که حتی به جنگو هم شک کردم و یه بار به جای فیلتر دیفالتش اومدم یه فیلتر نوشتم!

مشکلو بصورت اتفاقی توی این یافتم که توی مدل های دیتابیس چیزی که باید بصورت عدد اعشاری ذخیره میشد بصورت رشته ذخیره شده بود :)

فکرش رو بکنید که شب قبل روز امتحان پایان ترم تا صبح مجبور باشی یه همچین باگیو رفع کنی که تازه آخرش میفهمی بخاطر اینه!

خلاصه در دلم و بصورت زبانی از خجالت اون دوست عزیز در اومدم:)

به شخصه هیچ وقت دوست ندارم دست به باز طراحی اون سیستم بزنم حتی اگه به قیمت اخراجم تموم بشه!

پیام اخلاقی

اگر به هر دلیلی طراحی سیستم ناشیانه بود، همون اول کار درستش کنید تا در ادامه هر روز نخواید وصله های مختلف رو روی اون بزنید. سرعت پیشروی پروژه، توسعه پذیری و خیلی مزیت های دیگه در گروه همین وقت گذاشتن های اولیه ست!

djangopythonsoftware designdatabase designبرنامه نویسی
Software Engineer
شاید از این پست‌ها خوشتان بیاید