Здравствуйте,
Как известно большой минус хранить настройки в приложении
в xml: файл с настройками получается плохо читаемым, нет возможности писать комментарии.
в json: нет возможности писать комментарии, надо постоянно то вставлять, то удалять запятую что бы разделить поля.
Пробовал для конфигов использовать s-expression формат(несколько приложений/несколько лет уже работают с таким конфигом оК):
https://github.com/ichensky/S.NET
удобно, можно писать комментарии, конфиг получается компактным, легко читаемым/редактируемым.
;;; This app ...
(app (name "Cool app")
(connectionString "db=;user=;pass;") ;; Connection string to db
(oneMoreProp "..."))
Но, что если вместо конфигов сразу использовать C# код? Просто обычный C# класс
public class Config {
public const string Name = "Cool app";
public const string ConnectionString = "db=;user=;pass;";
}
Из плюсов: можно писать комментарии, удобная навигация по коду, при рефакторинге конфига меньше шансов получить ошибку с неправильным мапингом свойств в коде. Если надо этот конфиг расшарить с каким-то другим приложением, всегда можно так же как и раньше сериализовать объект с нужными полями в json напр. и передать другому приложению.
Какие минусы по сравнению с тем же json/xml?