Мы ищем способ документировать сущности базовых данных. Пока единственные реальные варианты, которые я придумал, это:
- Документирование извне с использованием UML или другого стандарта
- Создание подклассов NSManagedObject для каждой сущности и использование комментариев к коду
- Используйте словарь User Info для создания пары ключ-значение, содержащей комментарий строки
Вариант 1 кажется слишком большой дополнительной работой и чем-то, что почти наверняка устареет в 99% случаев.
Вариант 2 выглядит более естественным и более правильным, чем вариант 1. Самый большой минус здесь в том, что эти комментарии потенциально могут быть потеряны, если этот класс модели будет регенерирован с использованием Xcode.
Вариант 3 выглядит немного менее правильным, чем вариант 2, но имеет дополнительное преимущество, заключающееся в добавлении возможностей автоматизации в отношении извлечения метаданных. Например, в одном из наших приложений нам нужно внимательно следить за тем, что мы храним локально на устройстве, а также синхронизировать с iCloud. Используя пользовательский информационный словарь, довольно легко автоматизировать создание какой-либо формы артефакта, который может быть проверен как внутренне, так и внешне (клиентом) на соответствие
Итак, мой вопрос: не будет ли целесообразным использовать для этой цели словарь информации пользователя? И есть ли другие варианты, которые я пропускаю?