Решение проблем производительности по мере их возникновения позволит вам уверенно переходить от одной стадии разработки приложения к другой. Если производительность приложения вдруг резко упала, вы можете вернуться назад к известной точке, в которой все показатели были нормальными, и вновь использовать ее в своей работе в качестве отправной точки. Уст ранение проблем производительности по мере продвижения работы во многом подобно подъему по скале с использованием страховки, когда вы разбиваете маршрут на отдельные участки, в конце каждого из которых забиваете страховочные клинья; единственное, чем вы рискуете, если сорветесь — так это тем, что зависнете на уровне последнего из забитых клиньев. Если же вы пожалеете затратить время на фиксацию и страховку достигнутых результатов, то можете сорваться и пролететь вниз до самого подножия скалы, что чревато большими неприятностями. В процессе разработки не рвитесь необдуманно вперед и время от времени стабилизируйте показатели производительности своего приложения.

<p>Определение задач, решение которых необходимо для достижения высокой производительности</p>

Если конечные цели определены недостаточно четко, то судить об их достижении вам будет трудно, поскольку в этом случае невозможно точно сказать, когда именно пересекается финишная линия. Как бы парадоксально это ни звучало, но можно утверждать и обратное, а именно: достигать неопределенные цели легче, поскольку "достаточно хорошим" можно признать все, что угодно. В зависимости от ваших наклонностей, вы легко можете попасть в одну из этих двух ловушек и закончите тем, что либо приложите чрезмерные усилия к оптимизации тех частей приложения, которые этого никак не заслуживают, либо проигнорируете те, которые имеют решающее значение. Вероятнее всего, время от времени вы будете попеременно оказываться в лагере приверженцев каждой из этих позиций, решая то заняться оптимизацией того, что попроще или представляет интерес в качестве предмета исследования, то отложить устранение неприятных проблем, разрешение которых не обещает быть легким или требует выполнения рутинной трудоемкой работы.

Все может дополнительно усложниться, если вы работаете в составе группы, поскольку у разных людей может быть и разное мнение о том, что такое "приемлемая производительность". Часто это мнение подвержено влиянию того, каковы объемы дополнительной работы, которую необходимо выполнить для устранения проблемы, кому придется выполнять эту работу, и кто виноват в том, что что-то пошло не так, как хотелось бы. Конечно, приятно думать, что принимаемые нами решения являются хладнокровными, взвешенными и беспристрастными и основываются на объективных фактах, но весь человеческий опыт указывает на то, что это не всегда так. Все мы находимся под влиянием не только своих чувств, но и мыслей о том, насколько трудным, приятным, увлекательным или напряженным будет процесс устранения проблем, с которыми мы столкнулись.

Наилучший способ справиться с задачами повышения производительности заключается в том, чтобы записать эти задачи в основной документ проекта. Составьте подробный список этих задач и присвойте им номера. Обновляйте этот список в соответствии с тем, какие новые сведения появились у вас на данный момент, и обязательно фиксируйте вносимые в него изменения. Сформулировав конкретные цели, и всегда зная почему, как и когда они были изменены в процессе производственного цикла, вы и ваша группа никогда не собьетесь с пути, ведущего вас к решению поставленных задач. 

<p><strong>Ha всем, что связано с оценкой производительности, лежит печать субъективности</strong></p>

Производительность приложения такова, какой ее воспринимает пользователь. Если пользователю кажется, что приложение работает медленно, значит, оно работает медленно. Если же он считает, что приложение отрабатывает мгновенно, значит, так оно и есть. Поскольку мы создаем мобильные приложения, которыми будут пользоваться люди, а не автоматы, вооруженные хронометрами, искусство измерения производительности заключается в правильном выборе показателей, с помощью которых можно было бы точно охарактеризовать пользовательское восприятие приложения. В случае каких-либо сомнений окончательное определение того, является ли производительность мобильного приложения достаточно хорошей, возможно на основании результатов его тестирования реальными конечными пользователями и высказанных ими оценок. Любые попытки доказать пользователю, у которого на этот счет иное мнение, что приложение в действительности работает очень хорошо, ничего не дадут. Критерии производительности субъективны.

<p>Немедленная ответная реакция приложения</p>
Перейти на страницу:

Похожие книги