Надёжность и скорость
Wander работает с файлами, поэтому надёжность и стабильность для него важнее всего. Вот на чём они держатся.
Файлы защищены от случайности. У каждой операции с файлами обязательный набор: отмена Ctrl+Z, запись в лог сеанса, защита системных папок, а у разрушительной — вопрос с «Отменой» по умолчанию.
Удалённое уходит в корзину, заменённое при копировании — тоже, а конфликты имён решаются до того, как тронут первый файл.
Подробнее — на странице «Работа с файлами».
Проверки.
- Логика — тестами. Решения, от которых зависят файлы, — что делать при совпадении имён, как откатить операцию, что считается спутником, как назвать результат, — вынесены в ядро без интерфейса. Это около трети кода Wander, и его проверяют больше двух с половиной тысяч автоматических тестов, которые проходят через 91 % его строк.
- Интерфейс — сценариями. Перед выпуском автоматические сценарии проходят по настоящему окну Wander на наборе тестовых папок: тысячи файлов, RAW, документы и архивы разных форматов, имена на разных языках, пути длиннее 260 символов, скрытые и занятые файлы. Они копируют и отменяют, ищут, листают панель просмотра, проверяют выделение и фокус и сверяют результат. Долгий прогон полчаса ходит по папкам и следит, чтобы не росла память.
- Отсмотр — руками. Чего не видит автоматизация — перетаскивание с другими программами, чужие пункты меню, внешний вид, — проверяется по чек-листам кожаным мешком перед каждым выпуском.
- Замеры. У каждого выпуска измеряются размер, время запуска и память, и они сравниваются с прошлым: ухудшение останавливает выпуск так же, как упавший тест.
Скорость.
- Папка показывается сразу, а тяжёлое догружается в фоне: миниатюры, значки, размер папок, подпись программ.
- Рисуется только то, что видно на экране, поэтому папка на тысячи файлов листается так же легко, как на десять.
- RAW показывается мгновенно: и миниатюра, и панель просмотра берут превью, встроенное в файл, без проявления.
- Соседние снимки готовятся заранее, пока вы смотрите текущий.
- Готовые миниатюры хранятся в кэше на диске, и знакомая папка открывается быстрее.
- Длительные операции идут в фоне, а окно тем временем отвечает. Всё, что может тормозить, кэшируется или идёт асинхронно.
Открытость.
- Исходный код открыт для чтения на GitHub.
- Релизный
Wander.exeсобирается на серверах GitHub прямо из этого кода, лог каждой сборки открыт, а контрольная сумма SHA256 рядом с файлом позволяет проверить, что скачан ровно он. - Wander не ходит в сеть: ни аналитики, ни рекламы, ни обновлений в фоне. Отчёт об ошибке отправляете вы, если захотите.
- В систему ничего не прописывается: всё своё Wander хранит в одной папке, см. «Данные и кэш».
- Приложение изначально писалось автором «для себя», поэтому работает так, как удобно пользователю, а не издателю.