Является ли "кодирование без строки" общим термином?

Недавно я связываюсь с Empire-db. Проект doc. заявили, что используют " строковое кодирование", предназначенное для использования менее постоянных строк, чтобы избежать опечаток и использовать силу компилятора,

Я всегда был большим поклонником этого принципа, потому что я считаю, что Java является формальным языком, он может быть экспрессивным для конфигурации, такой как свойства или xml, и дает дополнительную ценность, проверяя через компилятор. Возможно, во время выполнения есть меньше возможностей для изменений без перекомпиляции, но это зависит от каждого случая.

Вы теперь больше ссылок или чтений об этом шаблоне term/design/design?

Ответы

Ответ 1

Хотя я никогда не слышал этого конкретного термина, я знаю, что вы имеете в виду, это имеет смысл.

Ответ 2

Это то же самое, что магическое число vs константы. Использование констант повышает ремонтопригодность и удобочитаемость. Константы также инкапсулируют изменение: изменение в постоянном значении автоматически распространяется и, как и для кодирования без строк, ошибка с орфографической ошибкой является ошибкой времени компиляции.

Ответ 3

Я мало знаю о Java, но эта идиома известна в современном С++. Например, Xpressive - это библиотека регулярных выражений, которая позволяет программисту писать регулярное выражение на С++ и выполняет проверку времени компиляции. Spirit - еще один пример, где вы можете написать EBNF на С++, а компилятор также может проверить синтаксис:)

Я думаю, что термин, который вы ищете, это Встроенные доменные языки.

Ответ 4

Никогда не слышал конкретного выражения, но Эффективная Java рекомендует "избегать строк, где другие типы более подходят" (пункт 50).

Ответ 5

Известный Pragmatic Programmer упоминает этот принцип, особенно в связи с обработкой метаданных. Один из советов об этом:

Поместите абстракции в код, детали в Метаданные

Программа для общего случая, и внесите специфику вне скомпилированная база кода.

В любом случае стоит прочитать книгу.

Ответ 6

Что касается empire-db, он похож на "тип безопасности" для SQL-запросов.