Дружественный интерфейс
Правда, у подножия сияющих вершин ваших будущих программных достижений я вас немножко приторможу с тем, чтобы вы отчетливо понимали, что плодами вашего творчества будут пользоваться и другие люди, зачастую ничего не сведущие в программировании. А поэтому я коротко изложу свои взгляды на мои представления об оформлении программ, или о так называемом дружественном интерфейсе.
Ну, кто хоть немного знает английский, тот уже может догадаться, что "интер" – это "между", а "фэйс" – это то, что бывает об "тэйбл", т. е. "лицо". Соответственно, интерфейс – "между лицами", в данном случае имеет смысл в значении оформления диалога между пользователем и компьютером в процессе исполнения написанной программистом (вами, уважаемый читатель!) программы.
Кстати, короткое лирическое отступление об английском языке в деле программирования. Это не роскошь, а суровая необходимость. Опять же вспоминаю с улыбкой своих выпускников, особенно тех, кто учил в школе немецкий. Мой программистский сленг обогатился такими терминами, как "филе наме" (file name), "гамовер" (game over), "лине" (line), "цирцле" (circle). Но произношение – это как раз не самое страшное, а вот писать и понимать ограниченный набор (Basic English) англоязычных терминов необходимо.
Итак, несколько моих принципов по оформлению программ:
- "Кашу маслом не испортишь" – как можно больше поясняющих комментариев к вашему алгоритму, и пользователям вашей программы хорошо, и (что немаловажно для учащихся) преподаватель всегда очень радуется. Но самое главное, лично вам будет очень просто редактировать и отлаживать программу. К сожалению, этот принцип зачастую игнорируется начинающими программистами, что снижает как текущие оценки, так и олимпиадные, а кроме того, очень затрудняет понимание сути алгоритма и нахождение возможностей для его улучшения.
- "Fool Proof" – зашита от дурака. Ваша программа должна выдерживать натиск неграмотного пользователя (от хакера-то все равно зашиты не найти!) и сопротивляться его попыткам при исполнении программы ввести цифры, где надо было имя, или нажать клавишу Пробел, когда была указана клавиша Enter.
- Доходчивость. При написании программы не стоит рассчитывать, что работать с ней будут умные люди (хотя и такие встречаются среди пользователей), а потому при исполнении вашего алгоритма программа должна максимально подробно объяснять человеку, что она от него хочет, и какую "пимпочку" в данный момент надо нажать.
- Ну и конечно, "красота спасет, мир". Пусть вы делаете даже просто программу проверки знания таблицы умножения, но сделайте это красиво – примените цветовое и шрифтовое оформление, а можно ведь и звуковые эффекты. Не скупитесь на экранные похвалы в адрес пользователя вашей программы – ласковое слово и кошке приятно!
В общем, я попробую в тех случаях, где буду приводить решения каких-то, на мой взгляд, ключевых обобщающих заданий, соблюсти эти принципы. А вам рекомендую брать с них пример.