Speccy #07
31 декабря 1996

Стиль - Дизайн интерфейса ваших программ.

<b>Стиль</b> - Дизайн интерфейса ваших программ.
╔══════════════════════════════╗
║▒▒▒▒▒▒▒▒▒▒▒▒ СТИЛЬ ▒▒▒▒▒▒▒▒▒▒▒║
╚══════════════════════════════╝

(С) 1996 Феськов Кузьма

   Здравствуйте!  Вновь  с  вами
рубрика СТИЛЬ.
   Частенько в речи  программис-
тов можно услышать такое  слово,
как "глюк", то есть ошибка, неб-
режность в программе,  а  знаете
ли вы, многоуважаемые  читатели,
что на свете был такой  компози-
тор? Кристофор Виллибальд  Глюк.
Однажды он гулял по улице и  не-
нароком разбил окно в магазинчи-
ке. Спросил  у  хозяина, сколько
стоит стекло. Оказалось - полто-
ра франка.  Глюк  дал  экю  (три
франка), и, когда  хозяин  начал
отсчитывать  сдачу,   композитор
остановил его:

   - Не трудитесь,  любезный,  я
лучше разобью еще одно стекло...

             * * *
                    Ну,  скажем,
                 что  это   было
                 лирическое  от-
                 ступление в на-
                 шей    рубрике,
                 впрочем,  можно
                 открыть     от-
                 дельный раздел,
                 если   подобной
                 информации  на-
                 берется  много,
                 дело за вами!
                      * * *
                    Если вы пом-
                 ните,  в  прош-
                 лый  раз  мы  с
                 Вами   говорили
о структурном программировании и
научились распределять свою  ра-
боту так, чтобы  затрачивать  на
нее как  можно  меньше  времени.
Поскольку я  рассказал  тогда  о
структурном     программировании
достаточно, то сегодня я не  бу-
ду говорить о нем в целом, но  я
все же остановлюсь на  некоторых
моментах, которые не были затро-
нуты в прошлый раз.

   Как  и  любая  другая  схема,
схема программы подчиняется  не-
которым правилам:
   1.Ответвления  от    головной
программы идут строго в  порядке
выполнения подпрограмм  (странно
бы выглядела схема программы пе-
чати спрайта, если бы мы  снача-
ла  нарисовали  блок   рисования
спрайта, а  затем  блок  расчета
адреса в экране). Такое подчине-
ние  называется  равноправным  и
изображается в виде:
┌────────────┐    Как видите, на
│главный блок│ этой схеме блок 1
└─┬────────┬─┘ и блок 2  равноп-
┌─┴───┐┌───┴─┐ равны. И  изобра-
│1 бл.││2 бл.│ жены  в   порядке
└─────┘└─────┘ следования в про-
грамме.
   2.Следующий  вид  подчинения,
это соподчинение:
┌────────────┐    Как  видно  из
│главный блок│ этой схемы, глав-
└──────┬─────┘ ным здесь являет-
   ┌───┴───┐   ся блок 2, а блок
   │1  блок│   1 служит  связую-
   └───┬───┘   щим звеном  (под-
   ┌───┴───┐   готавливает  дан-
   │2  блок│   ные и др.).
   └───────┘

   3.И третий вид  подчинений  -
вложенное подчинение:
┌────────────┐          Как вид-
│главный блок│       но из  этой
└──────┬─────┘       схемы, блок
   ┌───┴───┐┌──────┐ 2  является
   │1  блок├┤2 блок│ вложенным
   └───────┘└──────┘ для   блока
1, то есть находится внутри него
(это  может  быть  какой-то цикл
внутри процедуры).
   Я рассмотрел  здесь  основные
виды схем, очевидно, что при по-
мощи этих (базовых)  конструкций
можно  получать  более  сложные,
думаю пример приводить не нужно.
Опять же хочу напомнить, не  ув-
лекайтесь черезмерным структури-
рованием,  лучше  выделяйте  от-
дельные подпрограммы и пишите их
схему отдельно!

             * * * 

   А темой  нашего  сегодняшнего
разговора  станет  дизайн  ваших
программ.
   Да, да, об этом стоит погово-
рить и очень серьезно,  ведь  на
сегодняшний  день  эта  проблема
стала  камнем  преткновения  для
многих наших программистов.  Вот
потому-то  и  появляются  у  нас
программы от целых групп (кто-то
рисует,  кто-то  музицирует,   а
кто-то пишет саму программу).
   Сегодня  я  затрону  наиболее
важные вопросы, касающиеся  этой
проблемы. И поскольку  эта  тема
практически неисчерпаема, мы бу-
дем говорить о ней практически в
каждой статье из цикла "Стиль".

   Наиболее  острой  и    важной
проблемой, стоящей  перед  прог-
               раммистами     на
               первом этапе соз-
               дания  программы,
               это    проработка
               интерфейса  прог-
               раммы. Вспомните,
               сколько  раз  вам
               приходилось часа-
               ми    просиживать
               перед экраном пы-
               таясь      разоб-
               раться   в    ка-
кой-нибудь программе, даже  если
у вас под рукой было  ее  описа-
ние? На это тратится уйма драго-
ценного времени, а в результате,
либо вы откладываете  эту  прог-
рамму в дальний угол, либо  сов-
сем от нее избавляетесь, а  меж-
ду тем, это может  быть  велико-
лепная  по  своим   возможностям
программа.
   Рассмотрим наиболее часто ис-
пользуемые интерфейсы:
   1.Стрелочный. Это  прекрасный
вид общения с пользователем сис-
темных программ. Здесь все  ясно
и понятно. Казалось  бы  нет  ни
каких недостатков у этого интер-
фейса, но, как  показывает прак-
тика, увлекаясь красотой,  прог-
раммист нередко забывает  о  са-
мой программе, о ее цели. И  вот
стрелка уже мигает,  переливает-
ся, там она большая,  здесь  ма-
ленькая. А  что  же   программа,
скажите пожалуйста, зачем,  нап-
ример такие навороты  для  прог-
раммы форматирования (например)?
По моему, достаточно было бы на-
личие самой стрелки. Надо  отме-
тить так же, что некоторые  ста-
раются использовать один  и  тот
же интерфейс во всех своих прог-
раммах, не обращая при  этом  на
то, ПОДХОДИТ ли  этот  интерфейс
программе?  Да,    да,    именно
ПОДХОДИТ ли,  программа,  как  и
человек, крайне чувствительна  к
тому, в какую "одежду" она  оде-
та. Недавно мне  попалась  прог-
рамма, что-то  типа  DIZZY,  где
герой  управлялся   той    самой
стрелкой,  поясню,   вам    надо
ткнуть стрелкой  в  ту  сторону,
куда хотите пойти, ну и  прочее.
Скажу вам,  играть  было  чистое
мучение.
   2.Меню с передвигающейся  по-
лоской. Этот вид интерфейса  (он
используется в оболочке журнала)
самый  приемлемый  из  всех.  Он
подходит  практически  к   любой
программе, будь-то система,  иг-
ра, или еще что-нибудь. Этот ин-
терфейс всегда аккуратен, а  так
же прост в обращении.
   3.К третьему виду  интерфейса
я отнесу  меню,  где  за  каждым
пунктом закреплена какая-то кла-
виша (вы  могли  встретить  его,
когда программа  спрашивала  вас
"1-Бессмертие       2-Нормальная
игра".).Так же с подобным интер-
фейсом    знакомы      владельцы
СКОРПИОНОВ. Что можно сказать об
этом интерфейсе, так  же  как  и
стрелку, его надо применять  ак-
куратно, не рекомендую использо-
вать его, если таких  пунктов  у
вас больше 5-7, так как это тре-
бует от пользователя  усиленного
внимания, а  так  же  затрудняет
работу программы. Из этой ситуа-
ции есть выход - сделайте  двой-
ное управление, как от  ключевых
букв, так, например, и при помо-
щи меню с передвигающейся полос-
кой. Это  позволит  пользователю
вызывать  наиболее  часто    ис-
пользующиеся  опции  при  помощи
клавиш, а остальные курсором.
   Существуют  конечно  и  много
других интерфейсов, но  они, как
правило, носят  в  себе элементы
вышеперечисленных.     Предлагаю
провести конкурс  "Самая  друже-
любная программа". Напишите нам,
работа с какими программами дос-
тавила  вам  удовольствие  и  не
вызвало затруднений.
   Следующий,  не  менее  важный
                     аспект    в
                     написании
                     программы -
                     это  способ
                     общения   с
                     пользовате-
                     лем.
                        Как мно-
                     го  на  се-
                     годняшний
                     день  прог-
                     рамм   рос-
                     сийских ав-
                     торов,  ко-
                     торые
                     изъесняют-
                     ся  с  нами
                     на  англий-
                     ском языке.
Это крайне печально, я  бы  даже
назвал это  паталогией.  Дорогие
мои, ну скажите, кому нужен этот
ваш английский язык,  я,  напри-
мер, крайне сомневаюсь,  что  на
западе охотятся за вашими  прог-
раммами,  а  вот   отечественный
пользователь страдает.  Вот  си-
дишь дома, переводишь  какую-ни-
будь игру, а тут  тебе  диск  от
фирмы  Инфорком  приходит,  даже
руки опускаются, когда  передом-
ной прекрасные русские  програм-
мы на английском  языке.  Я  вам
так скажу  -  ЖИВЕШЬ  В  РОССИИ,
ГОВОРИ ПО РУССКИ!!!
   И, наконец, последнее, о чем я
хочу сегодня с вами  поговорить,
это шрифтовое  оформление  прог-
рамм.
   Взгляните на программы  зару-
бежных программистов, никогда вы
не увидите там в  программе  про
похождения в замке с привидения-
ми эдакого "веселого" шрифта,  а
                  в программе  о
                  приключениях
                  мультиплика-
                  ционного  пер-
                  сонажа  шрифта
                  "грозного",
                  что    нередко
                  встречается  в
                  программах
                  отечественных
                  программистов.
                  В   программе,
                  особенно игро-
                  вой, все  дол-
                  жно   соответ-
ствовать сюжету, в том  числе  и
шрифт, благо, сегодня это позво-
ляют  сделать  такие  программы,
как Turbo font  editor  Старкова
Павла, Professional font  editor
разработанная  мною,  а  так  же
программы, содержащие в себе уже
готовые  шрифты.  Они  открывают
перед вами огромные просторы для
творчества, и  бытующее  мнение,
что в формате 8 на 8 нельзя соз-
дать ничего хорошего, это  вовсе
неправда,  вы просто не пробова-
ли!
   Говоря  о  шрифтах,   следует
сказать об их эргономичности, то
есть о том, насколько  легко  их
читать. Не стоит увлекаться раз-
ного рода  завитками  и  прочими
наворотами, так как  этот  шрифт
затем  будет  крайне  плохо  чи-
таться, такой  шрифт  можно  ис-
пользовать при написании  назва-
ния программы, при  вставке  ка-
ких-либо незначительных  сообще-
ний, но их  стоит  избегать  при
печати большого  объема  текста.
Сравните для примера, сколько вы
потратите времени на чтение пер-
вого текста и второго.






   Давайте на сегодня остановим-
ся, но тема эта все еще открыта,
я  жду  ваших  писем  по  адресу
662613, г.Абакан,  ул.Ленинского
Комсомола, дом 3,  квартира  16,
телефон (39022) 6-42-63



Другие статьи номера:

От редакции - Критика , информация об авторах.

Авторская программа - Презентация редактора шрифтов размером 16x16 пикселей : Double Font Editor v1.3 и модификатора шрифта.

Авторская программа - программа "Модификатор шрифта".

Авторская программа - демо-версия программы "Formik Acid".

Авторская программа - Программа для катализации дисков : Chemne Base v0.6.

Авторская программа - NET v1.0 - соединение в сеть нескольких компьютеров ZX Spectrum.

Программирование - Программа пропорциональной печати и Windows (позволяет выводить на экран 4 вида окон).

Тусовка - Приветы и высказывания : С.Куксин,К.Феськов,В.Аншуков.

Стиль - Дизайн интерфейса ваших программ.

Игроскоп - Описание игры "Postman Pat-1".

Железо - Самодельное сканирующее устройство : принцип работы.

Новелла - Новелла "НЛО - враг неизвестен или охотничьи угодья на окраине галактики" (часть 3).

Музобоз - Результаты второго тура конкурса на лучшую музыкальную демонстрацию.

Музобоз - Mitchell отпровергает мнение, о том что мелодии быстрее писать в Sound Tracker Pro чем в АSM.

Идея - Каким быть видеоконтролеру для ZX-SPECTRUM'a.

Новости от OMEGA HG - Сценарий новой игры "NAVIGATOR".

Реклама - Реклама и обьявления.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
События - Отчёт с посещения питерского пати CHAOS CONSTRUCTION'2000 от Tangerine/T-Rex/The SandS/Looker House.
Подарок - О приложении к журналу.
Rants & Raves - бред Paracels'a.
Графика - режиссура в демо: палитра изобразительных средств в Демомейкинге.
С миру по биту - обзор писем читателей, кое-что об игре "Virus" и условиях проведения и участия в Открытом Чемпионате Вирусов.

В этот день...   21 ноября