На некоторых проектах (чаще всего это встречается на финтех) используются обозначения типов данных в виде 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. Есть предположение, что у этих обозначений типов данных "ноги растут" от квантификаторов и, возможно, частично от регулярных выражений...

 

 


 

Яндекс.Метрика
Сайт работает на быстром VPS/VDS хостинге от FASTVPS