Книга: Программирование мобильных устройств на платформе .NET Compact Framework
Пишите аккуратные алгоритмы: не сорите!
Пишите аккуратные алгоритмы: не сорите!
Как и в реальной жизни, сор в программировании — это отходы производственной деятельности, которые должны выбрасываться. Обычно сор появляется в результате неряшливости и неаккуратности. Стремление к получению кратковременных удобств часто порождает долговременные проблемы. При создании в алгоритмах мусора в виде временных объектов, необходимости в которых на самом деле нет, работа приложения замедляется в результате воздействия непосредственных и косвенных факторов:
1. Непосредственные факторы. Каждый раз, когда вы создаете объект, перед его использованием должна быть распределена и инициализирована память. Это прямые предварительные расходы, которые должен оплатить ваш алгоритм.
2. Косвенные факторы. После того как приложение освободило объект, он становится "мусором" Этот мусор накапливается в приложении, пока его не соберется так много, что для последующего распределения памяти для новых объектов потребуется ее предварительная очистка от старых. Конечно же, именно это и называется сборкой мусора. На сборку мусора уходит определенное время, и если мусора много, то эта операция заметно затормозит работу вашего приложения. Чем больше вы сорите, тем больше накапливается мусора и тем чаще приходится тратить время на уборку!
В процессе программирования вы всегда должны стараться "сорить" как можно меньше. Нет ничего плохого в том, чтобы создать экземпляр объекта, если это помогает решить какую-то очень важную задачу; если же объект является короткоживущим и задача может быть решена без него, то вы только создаете мусор. Не будьте "неряхой"!
- Напишите «спасибо»
- Алгоритмы хэширования
- Совет 43. Используйте алгоритмы вместо циклов
- Фундаментальные алгоритмы и структуры данных в Delphi
- Самые медленные алгоритмы сортировки
- Алгоритмы
- 1.6.14. Правило генерации: избегайте кодирования вручную; если есть возможность, пишите программы для создания программ
- 5. Лекция: Численные алгоритмы. Матричные вычисления.
- Глава 6. Рандомизированные алгоритмы.
- Пишите в разговорном стиле
- Глава 10. Напишите первый черновик
- Правило успеха № 4. Знать приемы и алгоритмы работы с «трудными» письмами