Операционные системы - статьи


Что показалось неприятным


В дополнение к "плохим" свойствам Win32, многие аспекты этого интерфейса автор характеризует как "неприятные". По мнению автора, многие соглашения и приемы программирования в API Win32 выбраны не лучшим образом.

В предыдущем разделе перечислялись некоторые несогласованности, которые автор относит к плохим свойствам. Имеются и такие несогласованности, которые автор называет неприятными, например, несогласованный подход к именованию функций. Многие функции, такие как CreateFile(), именуются путем соединения глагола и существительного. Автора не беспокоит это соглашение, поскольку связанные функции рассеяны по всему руководству программиста. (Да, помогает гипертекст!) Однако в Win32 это соглашение не используется согласованным образом. Для функций RegCreateKey(), DeviceControl() и DosDateToFileTime() соглашение не соблюдается.

Во многих файлах заголовков, требуемых для построения приложений Win32, наблюдается большая свобода именования, что затрудняет программирование. Хотя некоторые подобные деффекты присутствуют и в API UNIX, в новых стандартах применяются тщательные меры, чтобы избежать этой проблемы. Имена в файлах заголовков Win32, похоже, используются случайным образом. Такие слова как IN, OUT, FAR, TRUE, FALSE, DELETE, UNALIGNED, VOID, IGNORE, INFINITIVE и MAXCHAR определены в стандартных файлах заголовков. Имена других символических констант, таких как SP_BAUD, GPRT, PST_FAX, GHND и LPTR (упомянем лишь несколько), трудно запомнить.

Многие имена функций в интерфейсе Win32 кажутся чрезмерно длинными. Это усложняет и написание, и чтение программы. Использование длинных английских имен не приносит пользу неанглоязычным программистам. Примером длинного имени функции может служить GetFileInformationByHandle(). Эту функцию можно было бы назвать GetFileInfo(), потому что в API нет никакой функции, позволяющей получить информацию о файле, кроме той, которой сообщается хендл. Из-за длинных имен и большого числа аргументов для вызова функции часто требуется несколько строк, что затрудняет поиск ошибок при чтении программы.




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



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