Азбука программирования в Win32 API


Азбука программирования в Win32 API - стр. 5


ВЕНГЕРСКАЯ НОТАЦИЯ

Помимо использования нестандартных описаний типов, при чтении программ для Windows можно заметить еще одну странность. Почти все идентификаторы начинаются с непонятных буквосочетаний. Но, оказыва­ется, все очень просто. В любой книге, посвященной программированию под Windows, вы найдете упоминание о том, что один из первых разра­ботчиков Windows Чарльз Симонаи, венгр но происхождению, начал использовать в своих программах способ именования переменных, кото­рый впоследствии назвали венгерской системой. Суть этой системы (крайне простой и потрясающе эффективной) можно определить не­сколькими правилами:

каждое слово в имени переменной пишется с прописной буквы и слитно с другими словами, например, идентификатор для обозначения какой то переменной может выглядеть следующим образом - MyVariable, YourVariable, VariableForSavingAnotherVariable и т. д.;

каждый идентификатор предваряется несколькими строчными буквами, определяющими его тип. Например, целая перемятая MyVariable должна выглядеть как nMyVariable (n - общепринятая для целых переменных), символьная (char) переменная YourVariable превратиться в cYourVariable. Указатель на строку символов заканчивающуюся нулевым байтом, VariableForSavingAnotherVariable, pszVanableForSavingAnotherVariable (psz - сокращение от Point то String with Zero). Примеры подобных префиксов приведены в табл. 1.

Это позволяет упростить процесс чтения и понимания программ, а также делает переменные в некотором смысле самоопределенпыми - имя переменной определяется ее типом. Говорят, когда Симонаи спрашивали о странном внешнем виде его программ, он невозмутимо отвечал, что эти программы написаны по-венгерски.

WINDOWS КАК ОБЪЕКТНО-ОРИЕНТИРОВАННАЯ СИСТЕМА

Когда вы начинаете программировать для Win32, необходимо уяснить, что хотя формально Windows не является объектно-ориентированной систе­мой, она придерживается объектно- ориентиро- ванной идеологии. Каждое окно фактически является объектом. Что такое объект? Фактически объект есть совокупность полей (данных) и методов (процедур и функций управле­ния полями). У окна есть масса полей, об этом мы еще будем говорить. Функция окна фактически является совокупностью методов.




Начало  Назад  Вперед



Книжный магазин