ПО, разработанное по конкретные задачи конкретного пользователя, быстро устаревает
из-за постоянно меняющихся внешних и внутренних факторов,
и его сложно будет применить для другого пользователя,
так как у него могут быть другие цели и особенности.
Поэтому при разработке ПО сразу должны быть предусмотрены возможности по настройке,
изменению существующих и добавлению новых функций.
Настройка необходима для обеспечения
* взаимодействия с разным оборудованием (например, дисплей);
* взаимодействия с разным ПО (например, ОС, СУБД);
* комфортной работы пользователя (например, цвета, шрифты);
* выбора используемых пользователем функций.
Для переносимых программ и программ, взаимодействующих с несколькими пользователями,
параметры настройки должны зависеть от ОС и текущего пользователя
Файлы INI и XML не позволяют выбирать настройки в зависимости от ОС и использовать
одну настройку для нескольких параметров, но подобные механизмы можно предусмотреть:
```text
if PLAT_WIN
font.base=font:Verdana,size:9.4
font.comment=font:Georgia,size:10.1
font.code.comment.box=$(font.comment)
font.code.comment.line=$(font.comment)
if PLAT_GTK
font.base=font:Bitstream Vera Sans,size:9
font.comment=font:Bitstream Vera Serif,size:9
font.code.comment.box=$(font.comment)
font.code.comment.line=$(font.comment)
if PLAT_MAC
...
```