PDA

View Full Version : سوال: استفاده از اسامی طولانی برای متغیر ها و جداول، باعث کند شدن سیستم می شه؟



phpweb
پنج شنبه 14 بهمن 1389, 21:41 عصر
اگه توی اسکریپتها از اسامی طولانی برای متغیرها و توابع استفاده کنم و توی پایگاه داده هم از اسامی طولانی برای جداول و فیلدها استفاده کنم، کارایی سیستم کم نمی شه؟

yakouza
پنج شنبه 14 بهمن 1389, 22:33 عصر
خب میشه این که پرسیدن نداره

AmirHarirbafan
پنج شنبه 14 بهمن 1389, 22:35 عصر
فکر نکنم تاثیری داشته باشه. من زیاد php کار نکردم اما Asp.net رو مطمئنم که توی کاراییش تاثیری نداره.

binyaft
پنج شنبه 14 بهمن 1389, 22:40 عصر
بنده هم فکر نکنم آنچان تاثیری داشته باشه ، اما وقتی نیاز نیست این کار رو انجام ندید

امیـرحسین
جمعه 15 بهمن 1389, 00:47 صبح
هر متغیری که ساخته میشه با یک مشخصه شناخته میشه اینجوری نیست که PHP بره خود متغیر با اسم و بند و بساطش رو اینور اونور کنه.
این کار فقط حجم فایلهاتون رو زیاد میکنه و هر قدر فایل سنگینتر باشه باز کردن اون زمان بیشتری میبره ولی این سنگینی برای سرور هیچی محسوب میشه سرور کارش پردازشهای خیلی سنگین و همزمانه اگه قرار بود چنین پارامترهایی روی کارایی‌اش اثر بذاره، وقتی وارد یه سایت میشدیم با پیغام زیر مواجه میشدیم:
"کاربر محترم الان یه نفر دیگه توی سایته، بذار کارش که تموم شد مجددا تلاش کن!"

maysam.m
جمعه 15 بهمن 1389, 11:11 صبح
به نظرم من هم هیچ تاثیری روی کند شدن پردازش سی پی یو یا کاهش سرعت خوانده شدن از دیتابیس نداره!
فقط مقدار ناچیزی حجم فایلتون رو افزایش میده و خوانایی برنامه تون رو هم پایین میاره

phpweb
جمعه 15 بهمن 1389, 12:37 عصر
من هنوز به جواب نرسیدم.

eshpilen
جمعه 15 بهمن 1389, 13:47 عصر
خوانایی برنامه خیلی مهمتره.
اینکه میگید اصلا کجا چه کسی بیان کرده؟ منبعش چیه؟
درسته شاید یک مقدار پردازش و مصرف منابع بیشتری صرف بشه، و این درکل سرعت برنامه و گاهی حداکثر ظرفیت ممکن سرویس دهی همزمان رو پایین بیاره، اما این مقدار واقعا چه درصدی هست؟ مثلا ممکنه یک دهم درصد باشه، که این مقدار اصلا بحساب نمیاد. در خیلی کاربرهاد حتی چند ده درصد هم ممکنه عملا مهم نباشه و پارامترهای دیگری اهمیت بیشتری داشته باشن. تا چند درصد که هیچ! شرایط خاص هم که این مسائل در عمل واقعا تاثیر مهمی داشته باشن فقط جاهای خاصی معدودی پیش میان و اون موقع باید فکرشون رو کرد، نه اینکه از الان همهء برنامه هاتون رو با متغییرهای کوتاه بنویسید که در عمل هیچ تاثیری نداره جز زحمت بیشتر برای شما و خوانایی کمتر برنامتون.

شما در یک زبان، تقریبا هر تابع و ساختار و کتابخانه های با کارایی مشابهی رو که بنچمارک و با هم مقایسه کنید، بالاخره باهم کم و بیش اختلاف دارن، اما آیا باید در برنامه نویسی همهء اینها رو درنظر گرفت و فقط با سریعترین اونها کار کرد؟ این اختلاف ها در عمل تاثیر مشهودی روی بیشتر برنامه های دنیای واقعی ندارن. و اگر افزایش سرعت و کم شدن مصرف منابع به هر حدی، بالاترین اولویت رو داشت، مسلما بجای PHP باید با C یا حتی اسمبلی برنامه مینوشتید. مزایای این زبانهای سطح بالا و ویژه کار در تمام امکانات و آزادی و راحتی هایی هست که برای برنامه نویسان به ارمغان میارن.
البته بعضی توابع و ساختارهایی در هر زبانی به استثناء میتونن وجود داشته باشن که تاثیرشون در سرعت قابل توجه باشه و در عین حالا معمولا جایگزین های مناسبی دارن که باوجود سرعت بالاتر، از نظر خوانایی و راحتی و سرعت برنامه نویسی هم چندان تفاوتی ندارن، اما نمیشه این موارد محدود و استثنایی رو به همه چیز بسط داد.

پس زیادی ذهن خودتون رو مشغول این چیزها و برای خودتون دردسر درست نکنید. بدونید، اما لازم نیست همیشه به فکرشون باشید و همه جا رعایتشون کنید. بلکه تنها جایی که در عمل واقعا لازم میشه و مشکلی رو واقعا از این راه میشه حل کرد (و راه بهتری براش نیست) ازشون استفاده کنید.
بجای این چیزهای کم کاربرد بهتره روی الگوریتم و امنیت و خوانایی و اصول مهندسی نرم افزار تمرکز کنیم. ضمنا بنظرم اصل بهینه سازی درصورت لزوم، بیشتر از طریق الگوریتم بدست میاد و فکر نمیکنم برنامه ای و سروری مشکلش فقط با چنتا نام متغییرها و مشابه این چیزهای جزیی حل بشه. وگرنه همونطور که گفتم، اصولا نباید از زبانهای سطح بالا و مثلا فریمورک و دیتابیس خارجی و غیره استفاده کنیم، چون همهء اینا در کل هزینه هایی بسیار بیشتر از چنین چیزهای جزیی ای دارن. همون علتهایی که باعث وجود و استفاده از این ابزارها باوجود هزینه های قابل توجهی که دارن شده، توجیهی برای استفادهء آزادانه از تقریبا تمام امکانات اونها و روشهای برنامه نویسی سطح بالا و اصول خوانایی، سادگی، راحتی نگهداری و تغییر و توسعهء برنامه نویسی میشه. حداقل در بیشتر موارد.