На некоторых проектах (чаще всего это встречается на финтех) используются обозначения типов данных в виде A<n> или A...<n> или ANS...<n> и другие. Выглядит это, соответственно как A5 или A...20 или ANS...12. Могут быть варианты вида N-3 и N 1...10.

Обозначение типов данных - data type notation

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

 

Обозначения типов данных, которые "любят банки":

Типы данных: Описание: Примеры:
A<n> последовательность букв длины <n>  A5 = ABCDE, A3 = ULY
A...<n> последовательность букв длиной, не превышающей <n>  A...6 = kill
N<n> последовательность цифр длины <n>  N2 = 13, N7 = 1 000 000
N...<n> последовательность цифр длиной, не превышающей <n>  N...5 = 666, N...10 = 6 456 987 120, 
AN<n> последовательность букв и цифр фиксированной длины <n>  AN6 = A1B2C3
AN...<n> последовательность букв и цифр длиной, не превышающей <n>  AN...7 = iDF2
ANS<n> последовательность букв, цифр и символов фиксированной длины <n>  ANS12 = youSpent100$
ANS...<n> последовательность букв, цифр и символов длиной, не превышающей <n>  ANS...20 = test#ya%77
AS<n> последовательность букв и символов фиксированной длины <n> AS3 = A=B
AS...<n> последовательность букв и символов длиной, не превышающей <n> AS...4 = QR#

A = Alphabetic characters (алфавитные символы) - строка (String): используются буквы латинского или русского алфавита A-Z, a-z, А-Я, а-я.

N = Numbers (цифровые символы 0 - 9) - целые числа (Int).

S = Symbols (символы) - специальные символы.

A<n> String
A...<n> String
N<n> Int или String
N...<n> Int или String
AN<n> String
AN...<n> String
ANS<n> String
ANS...<n> String

 

В некоторых случаях для числовых параметров может использоваться формат, жестко указывающий на тип данных и/или ограничивающий минимальное и максимальное значения:

  • String N(1-11) - строка с числом от 1 до 11 разрядов;
  • String AN(0-12) - строка - пустая или до 12 символов: латинские буквы и/или цифры;
  • Int N(2) - двузначное число;
  • Int N(3-6) - число от 3 до 6 разрядов.

 

Для параметров, используемых для передачи значений даты и времени, может использоваться такой формат для обозначения типов данных:

  • String N(10) MMDDHH24MISS = месяц-день-часы(в формате h24)-минуты-секунды, например: 0927210544 (9 сентября 21:05:44)

 

Перечень используемых спецсимволов:

 
  пробел (его не видно, но он есть :)
! восклицательный знак
" двойная кавычка
# решетка (октото́рп/хэш/хэштег/диез/шарп)
$ доллар
% процент
& амперсанд (амперсенд)
' апостроф (одинарная кавычка)
( круглая открывающая скобка
) круглая закрывающая скобка
* звездочка
+ плюс
, запятая
- минус (тире)
. точка
/ слеш (слэш/косая черта)
: двоеточие
; точка с запятой
< знак МЕНЬШЕ
= знак РАВНО
> знак БОЛЬШЕ
? вопросительный знак
@ собачка (эт)
[ квадратная открывающая скобка
\ обратный слеш
] квадратная закрывающая скобка
^ циркумфлекс (домик/крышечка)
_ нижнее подчеркивание (подчеркивание)
` обратный апостроф
{ фигурная открывающая скобка
| pipe (вертикальная черта/вертикальная палочка)
} фигурная закрывающая скобка
~ тильда

 

Недостатки этой нотации:

1. Она не учитывает и не разделяет строчные и заглавные буквы.

2. Нет жесткого стандарта, в разных документах могут быть различные интерпретации написания формата, слегка отличающиеся друг от друга, поэтому для использования в своих ТЗ и спецификациях лично я не рекомендую этот формат, либо предварительно жестко определить его для себя и добавить в документацию (+ добавить ссылки на него и рассказать об этом команде).

 

 

P.S. Есть предположение, что у этих обозначений типов данных "ноги растут" от квантификаторов и, возможно, частично от регулярных выражений...

 

 


 

Комментарии (1)

This comment was minimized by the moderator on the site

Спасибо большое! Пушка??

Здесь не опубликовано еще ни одного комментария

Оставьте свой комментарий

  1. Опубликовать комментарий как Гость.
0 Значки
Вложения (0 / 3)
Поделитесь своим местоположением
Яндекс.Метрика
Сайт работает на быстром VPS/VDS хостинге от FASTVPS