Недавно я читал Прагматичного Программиста, который заявляет, что:
Детали портят наш первозданный код, особенно если они часто меняются. Каждый раз, когда нам приходится заходить и изменять код, чтобы приспособиться к некоторым изменениям в бизнес-логике, или в законодательстве, или в личных вкусах руководства дня, мы рискуем сломать систему - ввести новую ошибку.
Охота, Андрей; Томас, Давид (1999-10-20). Прагматичный программист: от подмастерье до мастера (Kindle Locations 2651-2653). Пирсон Образование (США). Kindle Edition.
В настоящее время я занимаюсь программированием веб-приложения, в котором есть некоторые модели, свойства которых могут быть получены только из набора значений, например (не фактический пример, поскольку данные веб-приложения являются конфиденциальными):
свет-> тип = сфера / куб / цилиндр
Тип освещения может быть только тремя вышеуказанными значениями, но в соответствии с TPP я всегда должен кодировать, как если бы они могли измениться и поместить свои значения в файл конфигурации. Поскольку в приложении есть несколько случаев, мой вопрос:
Должен ли я хранить, возможно, такие значения в:
файл конфигурации:
'light-types' => array(sphere, cube, cylinder),
'other-type' => value,
'etc' => etc-value
одна таблица в базе данных с одной строкой для каждого элемента конфигурации
база данных с таблицей для каждого элемента конфигурации (например , таблицы:
light_types
; столбцы:id
,name
)каким-то другим способом?
Большое спасибо за любую помощь / предложенную экспертизу.