نقل قول نوشته شده توسط metal gear solid 4 مشاهده تاپیک
من متعجبم شما چطور این صحبت هارو میکنید. شما که اصولاً برنامه نویسی بدون فریمورک رو ترجیح میدید. ( طبق پست های خودتون ). چرا؟ نمیدونم اما احساس میکنم به خاطر اینه که شاید دست و پاگیر باشه. شاید. ولی این دقیقاً دلیلی میشه که یک فریمورک باید دست برنامه نویس رو باز بزاره. ;) این که ما دقیقاً مطابق با چهارچوب بریم جلو رو کی تعریف کرده؟ کی گفته؟ شما؟ اگر شما میگید کاملاً مرتبط به نوع برنامه نویسی خود شماست. هیچ ارتباطی به من نوعی نداره. من سبک و سیاق خودم رو در برنامه نویسی دارم. شما سبک خودتون. اما یک سبک و قانونی هست که همه ی برنامه نویسا دوسش دارن. اینکه کد رو راحت بشه نوشت. کد رو تمیز بشه نوشت.
بله. کد تمیز. توی تمامی مواردی که در مقایسه با لاراول نوشتید کدهای لاراول بدون جانب داری کورکورانه تمیز تر هستند. خواناتر هستند. این رو هرکسی که هیچ اشرافی به این دوفریمورک نداره هم میتونه بفهمه.
انقدر دم از قانون برنامه نویس نزنید. همونطور که گفتم قوانین هر کس مختص خودشه. درانتهای کار، کد من و شما هردو یک کار رو انجام میدند. مشتریهای جفتمون هم راضی هستند. اصلاً هم براشون مهم نیست من از قانون و چهارچوب فریمورکم خارج شدم و شما نشدید!!! این قوانین نانوشته ای که میگید فقط دست برنامه نویس ها رو میبنده.
من هنوز هم میگم که به برنامه نویسی بدون فریمورک علاقمند هستم و ترجیحش میدم ولی معنای برنامه نویسی بدون فریمورک، لزوماً برنامه نویسی بدون قید و بند نیست. اینکه شما کار یک مشتری رو با MVC انجام بدین و بعد، یکسری جاها صرفاً برای اینکه کار شما راحتتر بشه، بیاین با همون روش معمول کد بنویسید، یعنی یک کد بی نظم دارین که بجز شما، هیچ کسی ازش سر در نمیاره و هیچ تضمینی هم وجود نداره که بعد از چند ماه که به این پروژه سر نزنید و سراغ پروژه های دیگه برین و یکهو مشتری بگه مشکلی پیش اومده یا بخواین قابلیتی رو اضافه کنید، باز هم یادتون باشه چند ماه قبل بخشهای مختلف پروژه رو چطوری انجام دادین. اینکه باید مطابق با چهارچوب فریمورک رفت جلو رو هم من نمیگم. هر آدم عاقلی میگه. شما نمیتونید عضو یک جامعه بشین و قوانینش رو چون دست و پاگیر هستن، قبول نکنید؛ حتی اگه اون جامعه به شما این اجازه رو بده، باز هم میشه یک جامعه بدون نظم و قانون. مثل اینه که پلیس بیاد بگه آقا شما باید بین خطوط حرکت کنید ولی اگه حرکت نکردین هم طوری نیست. نتیجه اش هم میشه ترافیک همیشگی که توی خیابونها شاهدش هستیم! اینجا هر آدم عاقلی میفهمه که نتیجه این مشکلات، در درجه اول عدم سختگیری در اجرای قوانین و در درجه بعد، عدم التزام شهروندان به قوانین تدوین شده است. اگه ازنظر شما کد تمیز، کد خلاصه است، پس با PHP خام و بصورت Procedural بنویسید چون سربارهای OOP و MVC و... رو ندارین. مشتری بهرحال چیزی از کد پشت پرده سر در نمیاره حتی اگه سورس کد رو هم تحویلش بدیم ولی اگه قرار باشه تیمی کار کنیم (مهمترین قابلیتی که فریمورکها به کاربران میدن) باید طبق یک قانون مشترک و استاندارد، کد بنویسیم. نمیگم MVC خیلی کامله ولی بهرحال داخلش مشخصه که منطق برنامه کجاست، بخش نمایش ظاهری کجاست، سیستم ارتباط با پایگاه داده و... کجاست. مثل کدنویسی اسپاگتی نیست که هرجا دلمون خواست، if میگذاریم و هرجا هم دلمون خواست با break از حلقه میایم بیرون و اصلاً هم برامون مهم نیست که سر برنامه نویس بعدی که قراره این کدنویسی افتضاح! ما رو ادامه بده چی میاد و چقدر به اجدادمون بد و بیراه خواهد گفت. بله ازنظر شما، کد تمیز یعنی این!!! شاید کد من و شما یک کار رو انجام بدن ولی مشتریهای من قطعاً راضیتر هستن چون یک سال دیگه هم بخوان قابلیتی رو اضافه کنن، هم خودم و هم فرد دیگری که بخوان باهاش کار کنن، به راحتی و با همون سرعت روزهای اول پروژه، میتونه اصلاحات رو انجام بده و ازطرفی چون پروژه کاملاً ماژولار هست، میتونم هر قسمتی رو بخوام جدا کنم و با اندکی اصلاحات (شاید هم بدون تغییر) توی پروژه های دیگه استفاده کنم و درنتیجه سرعت تولید پروژه های بعدیم هم افزایش پیدا میکنه. دوست عزیز، تعریف شما از کد تمیز، نیازمند یکم تمیزکاریه!!! اون سبک و قانونی که میگین همه برنامه نویسها دوستش دارن هم (اینکه کد رو راحت بشه نوشت...) به شرطی صحیحه و همه قبولش دارن و دوستش دارن که یک سال بعد هم راحت بتونن از عهده پشتیبانی (تغییر، اصلاح، ارتقاء و...) بر بیان. برخلاف شما، کدهای لاراول رو سرشار از بینظمی و حتی از اون بدتر، تشویق برنامه نویس به کدنویسی بینظم میبینم. با صحبتهایی که تا حالا توی تالار مطرح کردین هم ندیده ساختار کدنویسی شما رو میتونم تجسم کنم و مطمئنم اگه بخوایم برای ارتباط بخشهای مختلف پروژه شما، گراف ترسیم کنیم، در نهایت به توپولوژی Mesh میرسیم. شرمنده اگه رک صحبت کردم ولی راه بهتری برای رسوندن منظورم پیدا نکردم و ابداً قصد اهانت ندارم منتها بعنوان یک دوست یا شاید یک برادر، تجربه خودم رو میخوام منتقل کنم تا بعداً چند سال دیگه، از این سبکی که در کدنویسی دارین، پشیمون نباشین. موفق باشید.