На некоторых проектах (чаще всего это встречается на финтех) используются обозначения типов данных в виде A<n> или A...<n> или ANS...<n> и другие. Выглядит это, соответственно как A5 или A...20 или ANS...12. Могут быть варианты вида N-3 и N 1...10.
Расшифровка этих обозначений не валяется на каждом шагу в интернете и может, порой, заставить задуматься аналитика или, что еще хуже, стать причиной не корректной интерпретации требований.
Типы данных: | Описание: | Примеры: |
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 |
В некоторых случаях для числовых параметров может использоваться формат, жестко указывающий на тип данных и/или ограничивающий минимальное и максимальное значения:
Для параметров, используемых для передачи значений даты и времени, может использоваться такой формат для обозначения типов данных:
пробел (его не видно, но он есть :) | |
! | восклицательный знак |
" | двойная кавычка |
# | решетка (октото́рп/хэш/хэштег/диез/шарп) |
$ | доллар |
% | процент |
& | амперсанд (амперсенд) |
' | апостроф (одинарная кавычка) |
( | круглая открывающая скобка |
) | круглая закрывающая скобка |
* | звездочка |
+ | плюс |
, | запятая |
- | минус (тире) |
. | точка |
/ | слеш (слэш/косая черта) |
: | двоеточие |
; | точка с запятой |
< | знак МЕНЬШЕ |
= | знак РАВНО |
> | знак БОЛЬШЕ |
? | вопросительный знак |
@ | собачка (эт) |
[ | квадратная открывающая скобка |
\ | обратный слеш |
] | квадратная закрывающая скобка |
^ | циркумфлекс (домик/крышечка) |
_ | нижнее подчеркивание (подчеркивание) |
` | обратный апостроф |
{ | фигурная открывающая скобка |
| | pipe (вертикальная черта/вертикальная палочка) |
} | фигурная закрывающая скобка |
~ | тильда |
1. Она не учитывает и не разделяет строчные и заглавные буквы.
2. Нет жесткого стандарта, в разных документах могут быть различные интерпретации написания формата, слегка отличающиеся друг от друга, поэтому для использования в своих ТЗ и спецификациях лично я не рекомендую этот формат, либо предварительно жестко определить его для себя и добавить в документацию (+ добавить ссылки на него и рассказать об этом команде).
P.S. Есть предположение, что у этих обозначений типов данных "ноги растут" от квантификаторов и, возможно, частично от регулярных выражений...