دوستان به نظر شما یک برنامه نویسی خوب باید چه معیارهایی داشته باشد در واقع به چه برنامه هایی می گن good style programming و به چه برنامه هایی می گن برنامه نویسی بد و بی کیفیت اگر می تونین یه توضیح کاملی بدید ممنون.
دوستان به نظر شما یک برنامه نویسی خوب باید چه معیارهایی داشته باشد در واقع به چه برنامه هایی می گن good style programming و به چه برنامه هایی می گن برنامه نویسی بد و بی کیفیت اگر می تونین یه توضیح کاملی بدید ممنون.
برنامه نویسی خوب یک تعریف نسبیه ولی در مجموع، کد یک برنامه خوب باید معیارهای کلی زیر رو که تقریباً همه قبولش دارن، داشته باشه:
1- مستندسازی (کامنت گذاری، PHPDoc و...)
2- قابلیت توسعه (ماژولار کار کردن، شئ گرا نوشتن، عدم وجود کد تکراری در اسکریپت با استفاده از توابع و...)
3- تفکیک مناسب لایه های مختلف برنامه (Three Tier Architecture و MVC و Template Engine و...)
و خوب یکسری معیاری دیگه که ممکنه برای برخی مهم باشه ولی اینها رو تقریباً همه روشون توافق دارن.
جناب شهرکی
Three Tier Architecture و MVC
باهم تفاوت دارن ؟
بله فرق دارن. کل MVC فقط توی لایه UI معماری سه لایه قرار میگیره. توی اینترنت دنبال MVC vs 3 Tier Architecture بگردین.
نه ببینید، معماری همون 3 لایه است. ولی خوب توی UI اومدین از یک Design Pattern استفاده کردین. برای مثال، اگه توی View بیایم از Template Engine استفاده کنیم، نمیگیم که MVC چهار لایه داره یا معماری کلی ما 6 لایه شده! معماری همون سه لایه است و درسته. توی برنامه های بزرگ، MVC فقط توی لایه UI قرار میگیره. شاید بگین خوب Model که به دیتابیس دسترسی داره ولی بحث اینه که Model ازطریق یک API به دیتابیس وصل میشه و لایه Data Access توی معماری سه لایه یه سطح بالاتره (خود DBMS و مدیریت دیتابیس و طراحی اون و مواردی مثل سیستمهای ذخیره سازی و Cache و...)
آقای شهرکی من دارم سیستم مدیریت محتوا می نویسم که فعلا اولای راه هستم و تا اینجا از الگوی mvc استفاده کردم، میخواستم بدونم که قسمت cache (که برخی اطلاعات تو فایل ذخیره میشه) تو کدوم لایه باید نوشته بشه.
و اینکه شما با توجه به امکانات زیر برای ساخت سیستم مدیریت محتوا چه معماری رو پیشنهاد میکنید.
امکانات : چند زبانه بودن ، قابلیت نصب قالب جداگانه برای هر زبان ، امکان نصب ماژول ، کش در سمت سرور ، توسعه راحت
ببینید، سیستم مدیریت اطلاعات در MVC کلاً بعهده Model هست. حالا میخواد تو دیتابیس باشه، میخواد فایل باشه یا سیستم Cache و...
برای کاری که شما میخواین، همون MVC اکتفا میکنه و بطور کامل جوابگو هست، منتها اگه سایر اصول هم بخوبی رعایت بشه (طراحی ماژولار، ایجاد Kernel سبک و اضافه شدن بقیه امکانات بصورت Component)، استفاده از فریمورک مناسب، موتور قالب و...)