Как вызвать метод, который находит или создает записи в БД - PullRequest
0 голосов
/ 09 августа 2009

Этот вопрос может показаться глупым, но я, тем не менее, считаю, что стоит задать вопрос.

Я работаю над некоторым веб-приложением, когда мы используем теги, прикрепленные к статьям. При добавлении новой статьи пользователь предоставляет список тегов, которые он хочет связать со своей новой статьей.

Итак, когда форма отправлена ​​и мой контроллер MVC обрабатывает запрос, у меня появляется строка с тегами из формы. Я разделяю строку тегов и получаю массив слов тегов. Тогда мне нужно список идентификаторов тегов из базы данных. Поэтому я разработал метод, который берет список слов тегов и проверяет, существует ли каждый тег в БД. Если данный тег уже находится в базе данных, то идентификатор тега добавляется в массив результатов. Если тег не существует в БД, он создается, а затем идентификатор только что созданного тега добавляется в массив результатов.

Мой вопрос: как лучше назвать такой метод? Этот метод создает теги только при необходимости и возвращает список идентификаторов тегов.

Я попробовал это имя, но ни одно из них не выглядит мне правильным:

  • fetchTagsIds (Список теговWordsList)
  • createOrFindsTagsIds (Список теговWordsList)
  • receiveTagsIds (Список теговWordsList)

Мне нужно имя, которое действительно отражает то, что делает метод. Спасибо за вашу помощь :)

Ответы [ 4 ]

3 голосов
/ 09 августа 2009

Я бы бросил "s" в "Теги". Так что метод:

FetchTagIds (список tagWordsList)

0 голосов
/ 09 августа 2009

getTagIDs

Get предполагает, что код будет делать что-то для получения идентификатора, когда его не существует для извлечения.

0 голосов
/ 09 августа 2009

Если у вас возникли проблемы с поиском имени, которое точно описывает, что делает ваш метод, это может быть из-за того, что ваш метод делает слишком много. Возможно, было бы лучше провести рефакторинг на две части:

  1. findTagsByName (List tagNames) вернет список объектов Tag на основе списка имен, которые вы передаете
  2. persistTags (список тегов) - или saveTags (), или createTags () - сохранят список объектов Tag.
0 голосов
/ 09 августа 2009

IdsOfTags. То, что он их создает, является деталью реализации (как и тот факт, что он использует реляционную базу данных в первую очередь). Все, что имеет значение, - это то, что он дает вам уникальные идентификаторы для тегов (например, он также может хэшировать их с помощью совершенной хэш-функции или искать идентификатор в сети.

...