ИМХО, это вопрос здравого смысла. Обычно я держу все в одном конфиге, но в разных разделах. Например, если вы используете слишком много конфигурационных файлов, новичку в команде будет сложнее понять ваш код. Но если файл становится слишком большим, я думаю, что их можно разделить.
Что касается настроек пользовательского интерфейса, я думаю, что разработчики должны сделать большую часть выбора, но оставить некоторое пространство для настройки. У меня сейчас нет ссылки, но есть интересная история одного магазина, в котором продавали варенье. Они позволяли покупателям пробовать джем с тостами, что значительно увеличивало продажи (поскольку покупатели знали качество того, что они покупают). В начале у них было не так много вариантов варенья (всего 3), и это имело успех. Когда вариантов было слишком много (например, 20), они заметили, что клиенты немного сбиты с толку таким количеством вариантов.
Еще одна причина снижения конфигурируемости — сокращение времени разработки. Если вы читали книгу Gettingreal.37signals.com/">Gettingreal.37signals.com/">Gettingreal.37signals.com/">Gettingreal.37signals.com/" (рекомендую эту) (рекомендую эту), там написано, что нужно много времени, чтобы построить меньше . В главе 10 говорится:
* Less software is easier to manage.
* Less software reduces your codebase and that means
* Less maintenance busywork (and a happier staff).
* Less software lowers your cost of change so you can adapt quickly. You can change your mind without having to change boatloads of code. Less software results in fewer bugs.
* Less software means less support.
Итак, ИМХО, попытайтесь выяснить, какие настройки пользователи хотели бы изменить больше всего, и сделать их настраиваемыми. Кроме того, если ваша система уже находится в производстве и продолжает медленно расти, я думаю, вы могли бы освободить больше места для конфигурации с течением времени. В Gmail, например, было не так много параметров конфигурации, но по мере того, как пользователи привыкали к этому инструменту, они начали создавать параметры для пользователей, такие как изменение тем и другие функции лабораторий Google. Таким образом, кривая обучения «не вредит» пользователям :).
Надеюсь, я помог.
person
Samuel Carrijo
schedule
26.05.2009