Человеческий фактор в программировании - Ларри Константин
0/0

Человеческий фактор в программировании - Ларри Константин

Уважаемые читатели!
Тут можно читать бесплатно Человеческий фактор в программировании - Ларри Константин. Жанр: Управление, подбор персонала. Так же Вы можете читать полную версию (весь текст) онлайн книги без регистрации и SMS на сайте Knigi-online.info (книги онлайн) или прочесть краткое содержание, описание, предисловие (аннотацию) от автора и ознакомиться с отзывами (комментариями) о произведении.
Описание онлайн-книги Человеческий фактор в программировании - Ларри Константин:
Хорошее программное обеспечение создается людьми. Так же как и плохое. Именно поэтому основная тема этой книги — не аппаратное и не программное обеспечение, а человеческий фактор в программировании (peopleware). Первое издание «Constantine on Peopleware» признано классическим трудом в области информационных технологий. Новая книга Ларри Константина включает все 52 легендарные статьи из предыдущей книги и 25 новых эссе.Peopleware охватывает все аспекты, связанные с ролью людей в разработке программного обеспечения. Это качество и продуктивность, модели и методы, динамика поведения коллектива, руководство проектами, разработка интерфейсов и взаимодействие между человеком и компьютером, психология и процессы мышления. В данное издание включены два новых раздела, посвященных организационной культуре и юзабилити программных продуктов.Название оригинала на английском языке: The Peopleware Papers by Larry L. Constantine
Читем онлайн Человеческий фактор в программировании - Ларри Константин

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 83 84 85 86 87 88 89 90 91 ... 108

Возьмем одного из лидеров производства принтеров. Устройства, выпускаемые этой компанией, являются одними из самых надежных. То же самое можно сказать о встроенном программном обеспечении. Увы, их драйверы совсем другой породы. Эти драйверы поставляются с предупреждением о том, что их нельзя устанавливать в Windows таким же образом, как любые другие принтеры — словно они хотят сказать: «Мы особенные». Да уж, конечно, особенные! Один из релизов программы инсталляции, разработанной этой компанией, заменил менеджер печати Windows на свою версию, даже не сказав при этом хотя бы формального «с вашего позволения».

Более поздние релизы все так же продолжали настаивать на своей собственной процедуре установки, которая в некоторых случаях даже не носила стандартного имени Setup или Install. После установки программа показывает автопортрет принтера размером с четверть экрана при каждом выполнении задания на печать, хотя вам уже известно, что именно происходит, или вы просто не хотите знать об этом — например, когда другой компьютер из одноранговой сети инициирует печать на вашем общем принтере. Эта цветистая бесполезная картинка огромных размеров мешает ходу ваших мыслей и заслоняет экран до тех пор, пока вы не убираете ее принудительно. После чего вы пытаетесь разобраться, где вы были до этого. Ну, так вот, о чем же я говорил до того, как меня так грубо прервали? А, ну да, о высокомерном программировании.

Окно сообщения подобного рода вызывает раздражение, как будто вся система предназначена для драйвера принтера. Такой драйвер ведет себя так, словно это единственная интересная программа в системе, как будто вы больше всего хотите видеть именно эту громадную пиктограмму, напоминающую вам о том, какой принтер вы купили. Собаку можно воспитать, друга можно попросить говорить потише, но это программное обеспечение совершенно невозможно научить хорошим манерам. С ним нельзя справиться, даже если принтер стоит на столе, и вы можете видеть мигающий индикатор и слышать шум лазеров.

Если принтер был подключен через распределитель и в нем заканчивалась бумага, драйвер выдавал сообщение «принтер не отвечает», которое нельзя было убрать. Программисты никогда не думали, что вам может понадобиться что-то еще, кроме их принтера — единственного центра печатной вселенной. Этот принтерный драйвер был настолько эгоистичным, что крутился в жестком цикле, ожидая ответа принтера, в то время как Windows работала со скоростью черепахи.

Такая программа говорит: «Мой принтер, мой драйвер, мои проблемы с отсутствием бумаги настолько важны и безотлагательны, что я вынуждена блокировать систему до преодоления кризиса». Если не удавалось определить статус принтера, этот кусочек эгоистичного программного обеспечения так и сидел в памяти. Либо все застывало окончательно, либо вы добирались до менеджера печати, либо поддавались порыву и отдавали системе салют с помощью трех клавиш1. И так происходило всякий раз, когда заканчивалась бумага — всякий раз!

Задом наперед

Принтерные драйверы — не единственные преступники. Из-за огромного количества гигабайт, которые занимали программы и данные на каждом лэптопе в моем офисе, было решено перейти на использование портативных ленточных накопителей большой емкости. Устройства работали превосходно, хотя и немного шумели, но вот драйверы были спрограммиро-ваны высокомерно. Резервное копирование начиналось с запроса накопителя по параллельному порту SCSI-адаптера, однако программа драйвера подразумевала, что накопитель уже подсоединен, включен, готов к работе и снабжен картриджем. Если это было не так, программное обеспечение начинало глючить, нарушая работу всей операционной системы.

Или возьмем одну из версий программы, предназначенной для работы со внешним многофункциональным факсом по параллельному порту. Если вы запускали Windows до присоединения и включения факса, драйвера начинали жаловаться и выдавать сообщения об ошибке. Если вы хотели переключить печать на принтер, то перед этим вам нужно было сначала удалить драйвер факса, а затем выйти из приложений и перезагрузить систему, иначе драйвер начинал забрасывать вас бесконечными сообщениями об ошибке.

Среди моих любимых кандидатов на попадание в тот особый круг ада являются компании, которые слишком скупы, чтобы вкладывать деньги в испытанную инсталляционную технологию. Такие компании применяют установочные программы собственной разработки. В результате частенько встречаются системы, способные презрительно поправить файлы операционной системы, не спрашивая на то разрешения и не создавая резервных копий. Продукт одной творческой лаборатории, производящей звуковые карты, не только требовал установки Windows-драйверов под MS-DOS, но и занимал столько памяти, что для его запуска приходилось убирать из CONFIG.SYS и AUTOEXEC.BAT все остальное.

Высокомерное программирование можно обнаружить не только в драйверах для периферийных устройств. Вспомните, как несколько лет назад вполне оправданно поднялся шум, когда стало известно, что один крупный провайдер онлайновой информационной службы автоматически «обновлял» ваше программное обеспечение, записывая что-то на ваш диск при подключении к системе. (Конечно, современные броузеры, антивирусные программы и многие другие приложения запросто делают это через Интернет, внезапно превращая неизменный рабочий стол в незнакомую территорию или мистическим образом снижая производительность работы без вашего разрешения.) Кроме того, операционная система провайдера считывала данные с вашего диска и сообщала их вам, когда вы подписывались на предоставляемые услуги. Здесь важно не то, что была возможность отменить эту опцию, а то, что это было высокомерие, расчетливое высокомерие: запрограммировать систему так, чтобы эта опция была активна изначально.

Наверное, самым ярким примером высокомерного программирования является активная электронная почта, которая запускается при открытии почтового сообщения. Такая эгоистичная программа не только запускает себя, не дожидаясь завершения инсталляции, но и широко открывает двери для новых способов распространения вирусов, червей и троянских коней. (Конечно, это было дальновидным, но никем не замеченным предупреждением, которое предсказало появление таких вирусов, как Melissa и Love Bug.)

Более смиренный код зачастую более прост и менее амбициозен. Его конфигурацию можно изменять, и пользователи сохраняют над ним конт-роль. Он сообщает пользователям необходимую информацию, но не становится при этом навязчивым. Он любезно предлагает не делать то, что уже сделано. Такой код работает тихо, надежно и сотрудничает с другим кодом.

1 ... 83 84 85 86 87 88 89 90 91 ... 108
На этой странице вы можете бесплатно читать книгу Человеческий фактор в программировании - Ларри Константин бесплатно.
Похожие на Человеческий фактор в программировании - Ларри Константин книги

Оставить комментарий

Рейтинговые книги