Практика кодирования: как избежать жесткого кодирования? - PullRequest
2 голосов
/ 16 мая 2009

У меня есть таблица в базе данных, в которой хранится 4 категории, а структура таблицы - ID (GUID), описание. Я загружаю категорию в выпадающий список (веб-форма asp.net), чтобы позволить людям выбрать категорию и на основе того, что они выбрали. Затем я покажу информацию, связанную с их выбором, и скрою остальные.

В настоящее время я делаю «случай выбора» на основе GUID, который я жестко запрограммировал в коде для отображения соответствующей информации. Есть ли лучший способ сделать это без жесткого кода в GUID для кода позади?

Ответы [ 5 ]

4 голосов
/ 16 мая 2009

Что такое данные, связанные с Guid / Description ...

Данные, которые вы жестко закодировали, похожи на кандидатов для добавления в саму базу данных.

Если это одна часть информации на Category / Guid, рассмотрите возможность расширения таблицы базы данных для хранения этой информации до.

Если это несколько частей информации на Categor y / Guid, то подумайте о создании новой таблицы с CategoryID и связью внешнего ключа между вашей Category таблицей и вашей ExtraInfo таблицей

1 голос
/ 16 мая 2009

вы можете сохранить GUID в вашей веб-конфигурации и загрузить его во время выполнения. затем вы можете легко заменить этот GUID другим без необходимости перекомпиляции.

1 голос
/ 16 мая 2009

Вы можете запросить базу данных для GUID при запуске приложения и кэшировать их в статической Dictionary.

0 голосов
/ 16 мая 2009

Если вы связываете раскрывающийся список со строкой категории или кортежем, который содержит имя категории и значение, вы можете загрузить Guid в свой код, используя свойство SelectedValue. Затем вы установите DataTextField и DataValueField в выпадающем списке.

0 голосов
/ 16 мая 2009

У вас должна быть таблица Categories и таблица Posts (или что-то еще, что вы пометите своими категориями). В таблице Posts у вас есть столбец для CategoryID (при условии, что каждое сообщение может принадлежать только одной категории), поэтому у вас есть только название категории в одном месте (нормализуйте ваши данные).

Когда вы отображаете выпадающий список, вы выбираете GUID: s из базы данных. Нет жесткого кодирования, и если вы добавите другую категорию (или удалите одну), выпадающий список автоматически отобразит доступные категории.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...