Если возможно, вы должны всегда ошибаться в сторону более настраиваемых. Это избавит вас от головной боли позже.
Имена столбцов
Конкретно в вашем случае столбцы в таблицах - это нестатическая переменная. Обычно они меняются по мере изменения ваших потребностей.
Если у вас есть столбец " phonenum ", то они добавляют второй номер телефона, они меняют столбец на " phonenum1 " и " phonenum2 " , Это должно быть изменено в коде. Затем, если они изменят их на « Home_Phone », « Work_Phone », « Cell_Phone », код снова должен быть изменен. Однако, если у вас есть файл сопоставления (файл конфигурации ключ / значение), все эти изменения будут чрезвычайно просты для внесения.
В общем
Я не согласен с dsimcha, что приложение может быть «слишком настраиваемым». То, о чем он говорит, - это «раздувание признаков», когда существует так много переплетающихся конфигураций, что становится невозможным изменить кого-либо без срыва всех остальных. Это очень реальная проблема . Однако проблема заключается не в количестве параметров настройки, а в том, как они представлены пользователю.
Если вы представите все параметры конфигурации в краткой, ясной и обтекаемой форме. Там должны быть комментарии, чтобы объяснить каждый, и как он взаимодействует с другими. В этом случае вы можете иметь столько конфигурационных переменных, сколько захотите, потому что вы старались разделить их на отдельные или пары и пометили их как таковые.
Вы должны писать приложения, чтобы внешние (окружающие) изменения НЕ требовали изменений кода. Такие вещи, как
- Смена пароля пользователя базы данных
- Изменение имен столбцов
- Изменение папки «Temp folder»
- Имя целевой машины / изменение IP-адреса
- Приложение должно запускаться два раза в день, а не один раз
- Уровни логирования
Ни одно из этих изменений не повлияет на функцию приложения, поэтому не требуется никаких изменений кода. Это метрика, которую вы должны использовать, если вам интересно, хорошо ли жесткое кодирование.
Если функциональность необходимо изменить, это должно быть изменение кода. В противном случае сделайте его настраиваемым.