Formateria
Описание
Formateria — это семейство языков описания данных и состоящее из двух взаимосвязанных диалектов: Formateria Types (язык определения типов, структур и аннотаций) и Formateria Objects (язык описания конкретных экземпляров этих типов). Название образовано от латинских слов forma (форма) и materia (материя), подчёркивая философию системы: сначала
Языки
- Java100%
Formateria
Formateria — это семейство языков описания данных и состоящее из двух взаимосвязанных диалектов: Formateria Types (язык определения типов, структур и аннотаций) и Formateria Objects (язык описания конкретных экземпляров этих типов). Название образовано от латинских слов forma (форма) и materia (материя), подчёркивая философию системы: сначала задаётся форма (абстрактные типы), затем она наполняется материей (конкретные объекты). Formateria обеспечивает строгую типизацию, поддержку аннотаций, импортов и пакетов.
Семантика и понятность
Formateria — неологизм, образованный от латинских forma (форма) и materia (материя). Метафорически передаёт идею двух языков: один задаёт форму (типы), другой наполняет материей (объекты). Значение раскрывается через объяснение, но после этого запоминается глубже и вызывает философские ассоциации.
Запоминаемость и уникальность
Formateria: уникальное слово, практически отсутствующее в IT-пространстве. Благодаря своей необычности и благозвучию запоминается лучше. Легко гуглится, подходит для товарного знака.
Произношение и языковая адаптация
Formateria: произносится как [fɔːməˈtɪəriə] (фор-ма-ти́-ри-а) — мелодично, четыре слога. Не вызывает трудностей в европейских языках.
Маркетинговый потенциал и брендинг
Formateria: элегантный, философский оттенок. Позволяет строить вокруг продукта нарратив о «материализации идей». Логотип может обыгрывать переход от абстрактных форм к конкретным объектам. Привлекает внимание на фоне множества «-lang» и «-def» названий.
Соответствие концепции двух языков
Formateria: идеально отражает суть: форма (типы) и материя (объекты) — две стороны единой системы. Метафора легко ложится на документацию и обучение.
Практичность в разработке и документации
Formateria: длиннее, но тоже можно сократить до Fm или Fr в коде. Однако красивое полное имя придаёт проекту индивидуальность.
Итоговая оценка
| Критерий | Formateria |
|---|---|
Понятность без объяснения | ⭐⭐ (требует пояснения) |
Запоминаемость | ⭐⭐⭐⭐ |
Уникальность | ⭐⭐⭐⭐⭐ |
Эстетика | ⭐⭐⭐⭐⭐ (изысканно) |
Гибкость брендинга | ⭐⭐⭐⭐ |
Соответствие концепции | ⭐⭐⭐⭐⭐ (метафорически) |
Однако для повседневного использования можно комбинировать: например, формальное имя Formateria, а в технической документации использовать акроним TODL для краткости.
TODL (Type & Object Definition Language) — акроним, предельно ясно описывающий назначение: язык определения типов и объектов. Разработчики сразу поймут, что продукт связан с описанием структур данных и их экземпляров.
Сокращения и префиксы для системы Formateria
Общая структура пакетов
-
Корневой пакет: baa.plugins.idea.formateria.language.formateria
-
Подпакет для языка типов (TypeDefinition): types
-
Подпакет для языка объектов (ObjectDefinition): objects
Префиксы для генерации PSI
| Компонент | Язык типов (TypeDefinition) | Язык объектов (ObjectDefinition) |
|---|---|---|
Префикс классов PSI | Fmt | Fmo |
Префикс типов элементов | FMT_ | FMO_ |
Класс-держатель типов | FmtTypes | FmoTypes |
Класс типа элемента | FmtCompositeElementType | FmoCompositeElementType |
Класс типа токена | FmtTokenType | FmoTokenType |
Класс парсера | FmtParser | FmoParser |
Примеры объявлений в BNF
Дополнительные сокращения для внутреннего использования
В именах файлов: fmt_types.bnf, fmo_objects.bnf
В названиях пакетов: formateria.types, formateria.objects
В именах классов утилит: FmtPsiUtil, FmoPsiUtil (если потребуются)
Такая система обеспечивает чистоту нейминга, соответствие бренду Formateria и лёгкую идентификацию двух языков внутри плагина.