من بجای صرفا روشهای بهینه سازی پس از تولید توضیح مبسوطی از روشهای بهینه سازی فرآیند تولید نرم افزارها خواهم گفت که توضیح برای شما نیز در آن موجود است.
معمولا از سه راه موازی بصورت همزمان برای توسعه نرم افزارهای بهینه بهره میبرند.
تکنولوژی تولید
استفاده از الگوهای طراحی بجا
فعالیتهای پساتولید مثل سمپلینگ و پروفایلینگ
تکنولوژی تولید:
اگر بهینه بودن کار برای شما اولویت بالایی دارد بسته به نوع پروژه تکنولوژی را انتخاب کنید. تکنولوژیهایی که خود بر بستر زبانهای سطح پایین نوشته شده یا مترجم به زبانهای سطح پایین دارند مثل تکنولوژیهای مرتبط با CPP مثل GoDOT, Haxe، Cocos2dx و یونیتی IL2CPP راهحل مناسبی هستند.
استفاده از الگوهای طراحی بجا:
این راه تأثیرگذارترین بخش میباشد. چه بسا پروژههایی که از بهترین تکنولوژی بهره مند هستند اما با عدم استفاده از الگوهای طراحی دچار مشکلات جدی خواهند شد. توجه کنید در این کار زیادهروی نکنید زیرا به تولید اسپاگتی خوشمزه بجای توسعه با کد خوانا خواهید رسید! همچنین تمرکز بسیار زیاد بر بهینهسازی حین توسعه معمولا نتیجه معکوس به بار میآورد.
فعالیتهای پساتولید مثل سمپلینگ و پروفایلینگ:
معمولا برنامهنویسان به این بخش توجه زیادی نشان میدهند که متأسفانه بدون در نظر گرفتن دو راه بالا نتایج قابل ملاحظهای عاید آنها نمیشود. اما در توضیح این بخش این نکته بسیار ضروری است که اسیر روندهای رایج بهینهسازی نشوید. بطور مثال 7-8 سال پیش مسئله Draw Call در رندرینگ یا حجم داده در ارتباطات زمان زیادی از فرصت بهینهسازی تیم را اشغال میکرد قبل از اینکه «تحلیل جامعی از وضعیت موجود»، «دستهبندی و الویتبندی مشکلات» و «اقدام» را داشته باشیم.