انجمن سایت کلیدستان



بهتر کد بزنیم (قسمت دوم)زمان کنونی: ۱۳۹۵/۰۹/۱۴، ۰۶:۲۵ ق.ظ
کاربران در حال بازدید این موضوع: 1 مهمان
نویسنده: داش بهروز
آخرین ارسال: داش بهروز
پاسخ 1
بازدید 479

رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
بهتر کد بزنیم (قسمت دوم)

بهتر کد بزنیم (قسمت دوم)

#1
مطمئنا بعد از مدتی که از یاد گرفتن اندروید  میگذره  ،و الفبای اندروید یا هر زبان برنامه نویسی دیگه ای رو یاد گرفتید ،باید به سمتی برید که   کدهاتون بهتر و تمیز تر بنویسید. این حرف یعنی چی؟

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

بحثی که مطرح هست ،شما بعد از مدتی ،بخواید یک اپ خوب بسازید ،باید به چندین موارد توجه کنید، یک میزان حافظه مصرفی نرم افزار و دو عملکرد و سرعت نرم افزار . این دو مورد جز مهمترین مباحث توسعه اپلیکیشن هستن. مثلا اگه شما بخواید بازی بسازید ،باید روی مبحث رم مصرفی خیلی توجه کنید. نه تنها برای بازی، شما برای توسعه اپ های کاربردی و ...هم باید طوری کد بزنید که  2 المان سرعت و میزان رم تا حد ممکن در حد خوبی باشه.
اگه به این موارد توجه نکنید چی میشه؟

خب مطمئنا باعث کرش  outOfmemory برنامه میشه ،یا برنامه دچار لگ زدن میشه.و یا حتی باعث میشه برنامه به درستی کار نکنه.
در مورد مبحث heap  و ...بعدا اگه عمری بود مفصل بحث میکنیم و راه حلهایی که تا حد ممکن باعث میشه کمک کنه رو میگیریم.

مبحث بعد سرعت برنامه ،شما توی این مورد باید سعی کنید ساختار کدتون درست باشه و یا اگر از کتابخونه خاصی استفاده میکنید ،باید از کتابخونه های معتبر باشه.چون متاسفانه کتابخونه های غیر استاندارد کم نیست.  در مورد این مبحث هم بجاش صحبت میشه. دوست دارم اساتید یا دوستی که نکته میدونه بگه و به بقیه کمک کنه.

یه مثالی میزنم تا دیدتون یکم باز بشه.
دو قطعه کد زیر ببینید
کد اول

کد پی‌اچ‌پی:
for (int i 0< array.lengthi++)
{
//کارهایی اینجا انجام میشه

کد دوم

کد پی‌اچ‌پی:
int len = array.length;
 
for (
int i 0leni++)
{
 
 // کارهایی اینجا انجام میشه

توی نگاه اول این دو کد هیچ فرقی ندارند و شاید بگید خب برخی دوست دارند شبیه حالت اول کد بزنن و برخی دوست دارند شبیه حالت دوم .

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


اگه طول این حلقه زیاد باشه مثلا بالای 10000 هزار .میبینید عملکرد کد دوم 25 درصد سریعتر از کد اول هست.
یعنی با تعریف یک متغییر باعث شدیم حلقه سریعتر انجام بشه. به این موارد میگن بهینه کردن کد .
بقیه موارد  ومثال ها ،اگر مفید بود و به درد دوستان خورد ادامه میدم.

دوست دارم اگه مطلبی بود بگید و استفاده کنن دوستان وبنده.
پاسخ
 سپاس شده توسط admin ، s.saeid ، foad.pezeshkian ، Mohsen.95 ، zanyyy


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان

آخرین کلیدهای غیررایگان

شما هم می توانید کلیدهای غیررایگان منتشر کنید (بیشتر بدانید)