Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Специальные требования к безопасности программного обеспечения.docx
Скачиваний:
27
Добавлен:
08.06.2016
Размер:
44.63 Кб
Скачать

3. Венгерская нотация (дополнение к показателю с3 в гост 28195-99)

 

Требования к оформлению программ должны соответствовать венгерской нотации (Hungarian Notation), формально обозначаемой как добавление префикса к имени идентификатора. Это требование предъявляется всеми ведущими мировыми фирмами. Разработано это требование в 1999 году Чарльзом Симонии (венгр) в корпорации Microsoft. Требования следующие:

- мнемоническое значение: идентификатор должен легко запоминаться;

- смысловое значение: роль идентификатора должна быть ясна из его названия;

- преемственность: похожие объекты должны иметь похожие идентификаторы;

- скорость решения: придумывание, ввод и редактирование идентификатора не должны занимать слишком много времени, идентификатор не должен быть слишком длинным.

Каждая строка в программе должна иметь смысловой комментарий.

 

 

 

Требования к именам базовых типов

 

f

Флажок (Булева переменная, логическое значение). Используемое название должно относиться к истинному состоянию. Исключение: константы fTrue иfFalse.

w

Машинное слово

ch

Символ, обычно в тексте ASCII.

b

Байт

sz

Указатель на строку терминированную нулем (ASCIZ)

 

Требования к стандартным конструкциям типа

 

pX

Указатель на X.

dX

Различие между двумя образцами типа X. X + dX имеет тип X.

cX

Индекс образцов типа X.

mpXY

Массив Ys, индексированного по X.

rgX

Массив Ys, индексированного по X.

iX

Индекс массива rgX.

grpX

Группа Xs, сохраненных последовательно. Используется когда X элементы имеют переменный размер и не применима стандартная индексация. Элементы X индексируются способом, отличным от обычного.

bX

относительное смещение к типу X. Используется для обращений к полям переменной длины в структурах. Смещение может быть указано в байтах или словах, в зависимости от вида индексации.

cbX

Размер X в байтах.

cwX

Размер X в словах.

 

X и Y замещают произвольные теги.

 

Требования для названий процедуры

 

Описание

Название

InitSy

Берет sy как его параметр и инициализирует его.

OpenFn

fn - параметр. Процедура "откроет" fn. Никакое значение не будет возвращено.

FcFromBnRn

Возвращает fc, для переданной пары Bn,Rn (Названия не передают нам информации о типе данных для Fc, Rn, Bn).

 

Требования к именам стандартных спецификаторов

 

XFirst

первый элемент в упорядоченном наборе X

XLast

последний элемент в упорядоченном наборе X

XLim

строгий верхний предел набора значений X. Границей цикла должно быть X < XLim.

XMax

строгий верхний предел набора значений X. Если X начинается с 0, тоXMax равен числу различных значений X.

XT

временное значение X.

 

X замещает любой тег типа, записанный в нижнем регистре.

 

Требования к базовым префиксам типов данных Win32

 

g_

префикс для глобальной переменной

 

m_

префикс для переменной класса

 

c

константа (префикс для типа)

const

l

длинный (префикс для типа)

far, long

p

указатель (префикс для типа)

*

ch

Char

char

b

Байт

BYTE, unsinged char

w

16-битное слово (2 байта)

WORD, unsigned short

dw

32-битное слово (4 байта)

DWORD, unsigned long

n,i

Целое

int

flt

с плавающей точкой

float

dbl

с плавающей точкой

double

f

Логическое

BOOL

sz

ASCIZ строка

char[]

psz

ASCIZ строка

char *

pcsz

константа ASCIZ строка

const char *

pv

произвольный указатель

void *

ppv

указатель на произвольный указатель

void **

h

Хендл

HANDLE, void *

unk

OLE объект

IUnknown

punk

указатель на OLE объект

IUnknown *

disp

Automation объект

IDispatch

Pdisp

указатель на Automation объект

IDispatch *