Обновить
26
0
Александр Дербенёв @alexac

Senior Software Engineer

Отправить сообщение
Единственное, для чего это нужно — избежать конфликтов при установке ПО и добиться удаления всех данных вместе с приложением. Эта проблема уже решена в *nix системах.

Приложения устанавливаются и удаляются централизовано, системе известно о всех файлах и всех конфликтах. Общие настройки хранятся в /etc/, и обычно успешно удаляются вместе с приложением, настройки пользователя — в ~/.*, они сохраняются после удаления приложения, но никто не мешает убрать их в одно действие. Никаких проблем с чисткой системы, если самостоятельно ничего не ломать.

Сейчас в меня полетят камни по поводу софта, которого нет в репозиториях, но я считаю, что завернуть приложение в пакет, прежде чем ставить на систему — простое действие, которое по силам каждому (сам иногда ebuild-ы пишу).
Чтобы не удалялся из памяти при выходе из функции, позже он удаляется в деструкторе util::Lua. Можно было бы сделать еще одну шаблонную функцию (с кучей специализаций), на момент написания мне проще было обойтись лямбдой.
Мне жутко не хотелось завязывать проект на какие-то дополнительные утилиты. Пихать в репозиторий код, который может быть сгенерирован — плохо, а настраивать cmake чтобы использовал сторонние программы при сборке — лень.

А еще было интересно, можно ли решить эту задачу, не прибегая к генераторам кода, используя только средствами языка.
12 ...
15

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность

Специализация

Десктоп разработчик
Старший
От 100 000 €