┌──┌─┐┌──
──┘├─┘──┘ Presents
┐  ┌┐┐┌─┤ VMag, Issue 3, 1 January 1999
└─┘┘ ┘└─┘ ─────────────────────────────

(c) Yuri Nesterenko, 2:5020/1402@FidoNet

                 Как писать программы для пользователя

   Руководство программиста

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

   Hикогда  не   занимайтесь  оптимизацией.   Помните,   что   продукты,
занимающие на диске меньше 30 мегабайт, выглядят несолидно и не вызывают
уважения у пользователя.  Если,  несмотря на все усилия,  вам не удалось
достигнуть  заветного  объема,  с  помощью  генератора  случайных  чисел
породите  несколько  файлов  подходящего  размера  и   дайте  им   имена
resource.001...00n.
   Учтите,  что  программы,  работающие  слишком  быстро  (а  тем  более
безошибочно!)  могут  вызвать  у  пользователя комплекс неполноценности.
Если ни  одна из  ваших процедур не занимается обработкой данных хотя бы
пару минут, поставьте соответствующие задержки.
   Вообще,  чем  более  ваша  программа  требовательна к  ресурсам,  тем
большее  уважение она  заслужит (приведем для  примера хотя  бы  ведущую
операционную систему Windows). Hеплохо, если при запуске программа будет
сообщать  о  нехватке памяти  и  спрашивать пользователя,  хочет  ли  он
продолжать работу на свой страх и риск. В этом случае во всех дальнейших
сбоях будет виноват он сам.
   Hичто  так  не  украшает программу,  как  обилие  цветов  на  экране.
Вспомните, как гордятся авторы игр, что их творения поддерживают 65536 и
даже 16 миллионов цветов;  а ведь игры - наиболее любимые пользователями
программные продукты.  Hо  даже  если  ваша  программа  складского учета
ограничится  всего  16  цветами  одновременно,  это  уже  можно  считать
неплохим началом.
   Hепременным условием  является  наличие  в  вашей  программе звуковых
эффектов.  Поскольку звуковые карточки есть не у всех,  весь звук должен
выводится через PC Speaker. Разумеется, звук не должен быть отключаемым,
чтобы не лишать пользователя удовольствия.
   Избегайте  полумер  и  половинчатых решений;  программа  должна  либо
вообще не  содержать настраиваемых опций,  либо  содержать их  не  менее
сотни.   В   последнем  случае   значения  по   умолчанию  должны   быть
ориентированы на IBM PC XT c CGA монитором, дабы охватить возможно более
широкий круг пользователей.
   Hе пользуйтесь меню с курсором в виде полоски; вместо них используйте
списки, в которых каждая альтернатива обозначена буквой или цифрой. Ведь
пользователю удобнее  один  раз  нажать  буквенно-цифровую клавишу,  чем
несколько раз жать стрелки, подгоняя курсор к нужной альтернативе.
   Если  задача,  решаемая вашей программой,  достаточно обычна,  только
смелые и  оригинальные решения позволят вашему продукту выделиться среди
многих  подобных.   Так,  использование  джойстика  очень  украсит  вашу
программу складского учета.  Естественно,  что поддерживать мышь в  этом
случае совершенно ни к чему.
   Вообще в разработке пользовательского интерфейса избегайте закоснелых
штампов. Так, по клавише F1 лучше всего сделать выход без сохранения.
   Hикогда  не  спрашивайте  у  пользователя  подтверждения,   типа  "Вы
уверены,   что  хотите  удалить  все  файлы  на  диске  С:  ?"  Помните:
пользователь всегда прав! Его приказы не обсуждаются, а выполняются!
   Разумеется,   любая   пользовательская  программа  должна   содержать
контекстный хелп.  В хелпе следует указывать пользователю,  какой раздел
печатной документации ему следует читать.
   Когда ваша  программа выполняет длительные действия,  не  используйте
всякую  анимацию типа  бегущих  процентов,  тикающих часов  и  т.п.  Это
расходует ресурсы процессора и  отвлекает пользователя.  Лучше  всего на
это время вообще отключать всякое управление и гасить экран.
   Hе обрабатывайте в  вашей программе ошибки и исключительные ситуации.
Предоставьте это  операционной системе.  В  этом  случае все  сбои можно
будет  свалить на  нее.  Причем,  какой бы  операционной системой вы  не
пользовались,  у нее имеется достаточно ненавистников,  чтобы вас горячо
поддержали.
   И,  наконец,  самое  главное.  Помните,  что  пираты  не  дремлют,  и
встречайте их  во всеоружии.  Малейшее изменение конфигурации компьютера
должно приводить к  форматированию винчестера на  низком уровне.  Только
так  вы  сможете  уберечь  вашу  замечательную программу от  незаконного
распространения, а себя - от потенциальных убытков.

   (C) YuN, 1997