Математика

Физика

Химия

Биология

Техника и    технологии

Философия программирования для Windows 95/NT-Гринзоу Л. СПб.:Символ-Плюс, 1997. - 640 с.: ил
Гринзоу Л.
Г85 Философия программирования для Windows 95/NT — Пер. с англ. — СПб.:Символ-Плюс, 1997. - 640 с.: ил
ISBN 5-89051-005-3
Эта книга — не кратким обзор Windows 95 и не полным справочник по Windows 95 API. Это совершенно удивительное сочетание философского взгляда на программирование и практических советов по разработке Windows-ирнложепий и ведению крупных проектов. Программист любого уровня, пишущий иод Windows, прочтет эту книгу с наслаждением. С се помощью вы постигнете тайну «Великого Каньона», который пролег между Windows 3.1, Windows NT, Win32 и Windows 95, и увидите как па ладони подводные камни при переходе от 1С-разрядиой к 32-разрядной Windows. Изложенный здесь материал принадлежит перу Лу Грпилоу, одного из ведущих специалистов в области программирования для Windows. Профессиональный подход и способность проникнуть и суть дела часто делают его публикации центральной темой таких изданий, как PC WEEK, PC TECHNIQUES, Dr. Dobbs Journal, Software Development и Windows Tech Journal.
Содержание
Для кого предназначена эта книга?........................13
Что мне необходимо знать и иметь?........................13
Что ждет вас в WWW-библиотеке?........................13
Благодарность......................................14
Введение
Что такое «программирование»?..........................17
Мой подход........................................20
Мои предположения относительно вас......................21
Что вы найдете в этой книге.............................23
Приложенный код....................................25
Чего вы не найдете в этой книге..........................25
Нахальная вставка...................................26
Не оставайтесь в стороне...............................26
Часть L Основы
Глава 1. Добро пожаловать в реальный мир................31
Windows 95 крупным планом............................32
Публичные и приватные программы.......................33
Насколько публичное публично?.....................34
Этика и метафоры...............................35
Знакомьтесь: это ваши пользователи...................36
Игры, в которые играют люди.......................37
Любовь приходит и уходит, а программы остаются.........40
Как не следует относиться к пользователям-новичкам.......41
Как нужно относиться к пользователям — новичкам и гуру . . 43
Глава 2. Философия разработки программного
обеспечения для Windows: макропроблемы................47
Стиль............................................47
Математики и ювелиры...............................49
Три источника и три составные части качества программы........51
Корректность .................................. 51
Разумность....................................53
Услужливость..................................55
Примеры с придирками: что такое «хорошо»
и что такое «плохо»..............................57
Десять макроуровневых рекомендаций.....................63
0. Имейте широкий взгляд на мир и планируйте на будущее . . 64
1. Стремитесь к балансу во всех решениях..............72
2. Сделайте принцип KISS вашей религией..............77
3. You(Now) != You(Later).........................79
4. Уважайте ресурсы вашего пользователя..............85
5. Используйте DLL осторожно......................90
6. Придерживайтесь широкого взгляда на инструментарий ... 90
7. Не забывайте о производительности.................92
8. Не забывайте о тестировании......................97
9. Думайте о повторном использовании кода............100
Глава 3. Философия разработки программного
обеспечения для Windows: микропроблемы...............105
Шесть микроуровневых рекомендаций....................106
10. Абстрагируйтесь, абстрагируйтесь и снова абстрагируйтесь (и не беспокойтесь о цене вызова функции, пока программа сама не заявит об этом)..............................108
11. Применяйте оборонительное программирование....... 109
Что такое «оборонительное программирование»?......... 109
Природа предположений......................... 110
«Доверяй, но проверяй».......................... 112
Оборонительное программирование
и повторное использование кода....................117
Содержание
12. Выделяйте код, отвечающий за пользовательский интерфейс вашей программы.............................. 136
13. Используйте умные файлы данных................ 138
14. Элегантно реагируйте на сюрпризы со стороны........ 140
15. Остерегайтесь противоестественных действий..........142
Глава 4. Инструменты................................ 147
Что такое «инструмент программирования» и почему он так важен. 148
Рекомендации по выбору и использованию инструментов....... 150
0. Исследуйте и эксплуатируйте.................... 150
1. Добивайтесь симбиоза ваших инструментов........... 153
2. Не разбрасывайтесь и не переоценивайте свои силы..... 155
3. Не будьте слишком доверчивы к вашим поставщикам .... 156
4. Разумно эксплуатируйте публичные исходные коды..... 157
5. Не влюбляйтесь в ваш новый блестящий молоток....... 159
Типы инструментов................................. 160
Справочные материалы.......................... 161
Компиляторы и языки программирования.............. 164
C/C++: системный язык, используемый в качестве прикладного . . 166
Миф о переносимости........................... 169
C/C++ и определяемые пользователем типы............ 170
Аттестации, аттестации и еще раз аттестации............ 171
И чтобы не забыть............................... 173
Если Pascal так прекрасен.............................. 175
Как жить с C++?............................... 177
Каркасные библиотеки........................... 178
Добавления и аксессуары......................... 179
Третьесторонние библиотеки и компоненты............. 179
Третьесторонние отладчики ....................... 180
Системы управления версиями..................... 180
Инсталляционные программы...................... 181
Часть II. Itpakmuka
Глава 5. Идиома локальной функции.................... 195
Локальные функции: Pascal реализует их так, как надо........ 196
Шаг 1: грубый перенос на С........................... 199
Шаг 2: C++ и идиома локальной функции.................. 201
Реальное применение идиомы.......................... 206
Альтернативы и надежды............................. 208
Глава 6. Как жить с DLL.............................. 209
Отчаянный поиск DLL............................... 210
Кто загружается первым?............................. 213
Спасет ли нас Win32?............................... 215
Этикет разумного применения динамических библиотек........ 217
Используйте DLL только при необходимости........... 218
Правильно располагайте DLL...................... 219
Старые времена................................ 220
Новые времена................................ 223
Загружайте все DLL явно......................... 227
Пример: Hello .................................... 230
Глава 7. Минимизированные Windows-программы:
вселенная внутри значка.............................. 239
Разновидности минимизированных программ................ 240
Механика минимизированных программ................ 241
...и как Windows 95 поменяла правила игры............ 247
DROP1 и DROP2.................................. 259
Не бойтесь и минимизируйте........................... 259
Глава 8. Защита программ от искажений................. 263
Добро пожаловать в наш кошмар........................ 263
Что вы сможете сделать, а чего не сможете............. 265
Спасение в CRC............................... 266
В поисках места для тайника...................... 267
SELFCHCK и PATCHER............................. 269
Реализация самопроверки в вашей программе............... 276
Вперед, вычисляйте CRC............................. 279
Глава 9. Умные файлы данных......................... 283
Для чего используются постоянные хранилища данных......... 284
Содержание_________________________________________"
Системные данные.............................. 284
Настройки приложения.......................... 285
Документы приложения.......................... 286
Основные формы постоянного хранения данных............. 286
lNI-файлы................................... 288
Реестр Windows............................... 291
Специальные бинарные файлы..................... 293
Умные файлы данных............................... 295
Пример хранения конфигурационных данных............... 305
Глава 10. Абстрагирование в действии: создание
своих виртуальных машин............................. 317
Зачем это надо?.................................... 317
«Доверят!), но проверять» пли «асфальтировать»?............ 322
Три степени абстрагирования........................... 326
Искусство Абстрагирования............................ 334
Win32 API: бинарный келышнбол?.................. 341
Е Pluribus Unum................................... 353
Глава 11. Сделайте вашу программу замкнутой............ 355
Зачем нужна минимальная защита?...................... 356
Защищать или не защищать?....................... 356
Базовая модель, дубль первый.......................... 357
Базовая модель, дубль второй...................... 359
Как сделать замкнутой существующую программу........ 365
Проблемы безопасности.............................. 367
Что бы еще замкнуть сегодня?.......................... 370
Часть Iff. BeAukuu перевал
Глава 12. Из Winl6 в Win32........................... 373
Что такое Windows 95 с точки зрения прикладного программиста. . 374
Winl61ock................................... 379
Изменение типов данных......................... 381
Что значит изменение размеров типов для программистов . . . 385
Перенос 16-бптового кода на Windows 95.................. 387
Выбор стратегии переноса......................... 388
Великие неизвестные................................ 402
«Ужастики»...................................... 407
Проверка номера версии: не все так просто............. 408
GDI обрезает координаты до двух байт............... 409
Ограничения значений cbWndExtra и cbClsExtra......... 410
Формат результата GetOpenFileNameO............... 411
Где искать ассоциации?.......................... 413
Проблемы с перетаскиванием...................... 414
Арр Paths срабатывает для 16-разрядных программ
лишь наполовину............................... 416
Функция GetFreeSystemResourcesO пропала в Win32...... 417
Ау, кто стянул мой значок?....................... 419
Диалоги масштабируются по-разному................. 419
Доступ к lNl-файлам............................ 420
Norton Navigator 1.0 и вы............................. 421
Глава 13. Не слишком краткая лекция
о длинных именах файлов............................. 429
Обзор основных свойств длинных имей и псевдонимов......... 430
...и что это означает............................. 432
Хранение длинных имен.......................... 433
«Длинные имена файлов как параметры
командной строкп.ЕХЕ».......................... 435
Становится только хуже и хуже.................... 441
Что делать?.................................. 443
Крайние меры................................. 444
Хорошие новости................................... 446
Ради Бога, не забывайте о человеческом факторе!........ 446
Ждите ошибок, ждите ошибок....................... 447
Ну что ж, умники, и как же, uo-вашему, Microsoft
должна была реализовать длинные имена файлов?........ 450
Глава 14. Разновидности Win32........................ 453
Почему Win32 != Win32 != Win32....................... 454
Документация, документация и снова документация....... 457

Цена: 300руб.

Назад

Заказ

На главную страницу

Hosted by uCoz