Введение в программирование на примере VBA
Часть II. Создание макроса-приложения
Занятие 5. Построение визуального интерфейсаДанное занятие посвящено созданию визуального интерфейса будущего приложения. Цикл 1Если приложение маленькое и изначально понятное, то допустимо ограничиться одним циклом разработки. Но в общем случае следует разбить процесс на несколько циклов. Задачи первого цикла разработки обычно заключаются в создании минимально работоспособного приложения, демонстрирующего лишь основные, наиважнейшие функции. Результат первого цикла будет использоваться как основа для последующей работы. Сформулируем требования первого цикла. ТребованияМинимально работоспособное приложение должно предоставлять пользователю вопрос теста (очередной из списка), список ответов, соответствующих этому вопросу, воспринимать и минимально обрабатывать выбор пользователем какого-либо ответа. Указание на то, что вопрос с набором ответов выбирается из списка вопросов, подразумевает, что приложение обеспечивает продвижение по списку вопросов. Подцикл 1. Создание визуального интерфейсаКак видите, требования к циклу довольно объемные. Имеет смысл разделить работу на несколько однотипных стадий-подциклов. Дело разработчиков – делать ли подчиненные подциклы или пользоваться небольшими равноправными циклами. Имейте в виду, что в таком случае каждый цикл следует начинать с формулировки требований и анализа, тогда как подциклы могут пользоваться данными, полученными в начале цикла. Начало создания небольшого приложения, предназначенного для индивидуального использования, целесообразно начинать с создания пользовательского интерфейса, затем наполняя его полезной функциональностью, тем более что VBA предоставляет для этого широчайшие возможности. Итак, задача первого подцикла – реализация пользовательского интерфейса приложения. Под пользовательским интерфейсом будем понимать ту часть приложения, которая непосредственно взаимодействует с пользователем. Для подавляющего большинства программ, созданных для операционной системы MS Windows, под пользовательским интерфейсом понимается то, что видит пользователь при работе с приложением – видимый, визуальный интерфейс. Объекты, взаимодействующие с пользователем, уже найдены ранее.
ПроектированиеНа данном этапе возникает потребность конкретизировать найденные ранее сущности проекта и начать реализацию в соответствии с имеющимися средствами выбранного языка. Очевидно, для этого следует иметь представление об этих средствах. Описание MSForms Все приложения MS Office могут работать с набором так называемых элементов управления или кóнтролов. Понятие элемента управленияЭлемент управления или кóнтрол – это объект, предоставляющий пользователю возможность вмешиваться в работу приложения, управлять ею. Как правило, элемент управления имеет некоторое визуальное представление, то есть тем или иным способом отображается на экране монитора. Так как контрол предназначен для взаимодействия с пользователем, он должен как-то реагировать на действия пользователя –манипуляции мышью или нажатия клавиш. Категорий контролов много. Простейшие из них реагируют на щелчки мыши, выводят и позволяют редактировать строки текста, отображают картинки. Именно такие элементы управления доступны программисту VBA. Описание контролов VBAПеречислим элементы управления, входящие в состав VBA и дадим им краткие характеристики. Метка Этот элемент управления предназначен для вывода поясняющего текста, если таковой нужен в приложении. Какое-то изменение текста пользователем во время работы приложения не допускается. Название компонента, принятое в VBA – Label.
Текстовое поле Текстовое поле может выводить текст, а, кроме того, допускается ввод пользователя. Название компонента, принятое в VBA – TextBox.
Список Выводит список строк. Пользователь может выбирать из списка. Название компонента, принятое в VBA – ListBox.
Поле со списком Этот элемент управления – своеобразная комбинация текстового поля и списка. Помимо вывода списка значений, позволяется ввод текста пользователем. Название компонента, принятое в VBA – ComboBox.
Флажок Позволяет «включать» или «выключать» какие-то настройки приложения. Флажки работают независимо друг от друга. Название компонента, принятое в VBA – CheckBox.
Переключатель Используется как «многопозиционный переключатель», позволяя выбрать одно значение из нескольких возможных. Эти контролы всегда работают в группе. Название компонента, принятое в VBA – OptionButton.
Выключатель Как и флажок, позволяет «включать» или «выключать» значение. Разница, по большому счету, лишь во внешнем виде. Название компонента, принятое в VBA – ToggleButton.
Рамка Назначение этого элемента – группирование других элементов согласно каким-то особенностям. Кроме того, рамка применяется для украшения приложений. Название компонента, принятое в VBA – Frame.
Кнопка Один из распространеннейших контролов. Обеспечивает реакцию приложения на щелчок мыши. Название компонента, принятое в VBA – CommandButton.
Набор вкладок, набор страниц Оба этих контрола позволяют группировать другие элементы управления по группам и экономят место. Разница – в деталях использования (в общем случае набор страниц использовать проще). Название компонентов, принятое в VBA – TabStrip и MultiPage.
Полоса прокрутки Предназначена для «прокрутки» других элементов управления. Другое возможное применение – «регулятор-ползунок» для плавного изменения какого-то значения. Название компонента, принятое в VBA – ScrollBar.
Счетчик Предназначен для изменения какого-то значения. Название компонента, принятое в VBA – SpinButton.
Как правило, используется в паре с текстовым полем, что позволяет отслеживать текущее значение и вводить его вручную.
Рисунок Декоративный элемент управления, выводящий рисунки. Название компонента, принятое в VBA – Image.
Как видно, в набор VBA входит довольно ограниченный набор простейших элементов управления, некоторые из которых дублируют друг друга и не являются необходимыми Но, к счастью, язык VBA позволяет использовать другие элементы управления, создаваемые программистами всего мира. Список этих элементов поистине необъятен, они выполняют самые разные функции. Но качество исполнения, к сожалению, разное, зачастую элементы управления не имеют в составе поставки справочной информации. В процессе работы мы попытаемся научиться узнавать то, что нам нужно, не используя справку. Выделение объектов, взаимодействующих с пользователемВернемся к проектированию приложения. Мы уже имеем сведения, которые позволят нам определить способы управления будущим приложением. Затем мы построим эскиз пользовательского интерфейса. Сначала из списка объектов, который мы создали на предыдущем шаге, выделим объекты, которые будут взаимодействовать с пользователем. Освежите список в памяти:
Далее следует определить действия, требуемые от каждого из этих объектов. Составим таблицу:
Теперь проанализируем созданную таблицу. При этом будем сверяться с тем, что нам уже известно об элементах управления VBA. Быть может, мы сможем определить, какой элемент управления будет использован в том или ином случае. «Выводитель» вопроса будет выводить вопрос (мы негласно условились, что в этой версии приложения вопросы и ответы будут представлены только в текстовом виде). Никакого вмешательства пользователя в текст вопроса не нужно и даже нежелательно. На первый взгляд, вполне подходит элемент управления «метка». Но, в случае, если вопросы будут объемными, более уместным будет использование текстового поля. Дело в том, что элемент «текстовое поле» может осуществлять «прокрутку» содержимого без усилий со стороны программиста, тогда как сделать то же с «меткой» можно, но потребует усилий по созданию и отладке дополнительного кода, а никаких преимуществ не предоставит. «Выводитель» ответов будет выводить список ответов. Используем элемент «список»? Стоп! Обратите внимание на следующую строку в таблице. «Выбиратель» ответа также работает с тем же объектом – списком вопросов. Будет совершенно правильно объединить «выводитель» и «выбиратель» ответов. Действительно, можно было бы, предположим, выводить ответы и, к примеру, предлагать ввести номер правильного ответа в текстовое поле. Но зачем усложнять? Если мы не преследуем никаких других целей, то подобное решение будет говорить о некомпетентности автора как проектировщика и дизайнера. Запомните – простота и удобство! Предлагаем использовать элемент «переключатель». Недостаток – невозможность прокрутки, если текст ответа большой. Но тогда вы сможете комбинировать «переключатель» с «текстовым полем». А в большинстве тестов ответы короткие – в отличие от вопросов. «Выводитель» сводки мы пока проектировать не будем. Он нужен в самом конце теста, а в ходе теста дополнительный контрол будет лишь занимать место и отвлекать внимание. «Выводитель» сводки мы сделаем особым образом. Для перехода по набору вопросов можно использовать разные элементы управления: счетчик, полосу прокрутки, дополнительные контролы, не входящие в основной набор. Но, придерживаясь принципа простоты, мы используем элемент «кнопка». Так как переход возможен как вперед, так и назад, кнопки будет две. Проектирование визуального интерфейсаТеперь, имея понятие об используемых компонентах, спроектируем внешний вид будущего приложения.
Должно получиться примерно так:
При построении пользовательского интерфейса основное, на что следует обращать внимание – интуитивность и удобство. Как считается, в первую очередь воспринимается то, что находится вверху диалогового окна, в частности – в верхней левой части, а в последнюю – информация внизу справа. У нас информативные блоки размещены именно так. Элементы управления должны размещаться так, чтобы при манипуляциях с ними курсор мыши не мешал воспринимать другие отделы окна – у нас именно так. Очевидное требование, к сожалению, не всегда исполняемое проектировщиками – однообразность расположения однородных частей окна. У нас – именно так. Можно считать, что дизайн приложения выполнен верно. А вот, для примера, неверный дизайн:
Не правда ли, неудобно? К сожалению, многие начинающие программисты допускают подобные «шедевры». Не делайте так! Назначение имен контролам Теперь назначим имена элементам управления. Как говорилось выше, элемент управления – объект, только специфический. Все, что говорилось об объектах, применимо и к контролам. А один из необходимых атрибутов объекта – имя. Согласно имени VBA будет различать объекты, по имени будет обращаться к объекту и производить какие-то манипуляции с ним. Имя уникально в пределах проекта. Грамматика имен контролов ничем не отличается от грамматики имен макросов, которую мы описали раньше. Нарисуем новую схему пользовательского интерфейса приложения и подпишем имена, соответствующие каждому контролу:
Обратите внимание на схему именования, общепринятую в программах на VBA. А именно, имя объекта начинается с префикса, который характеризует тип объекта. Например, самый верхний объект на нашей схеме носит имя txtQuestion. Префикс txt – от Text(Box), Текст (Текстовое Поле). Question – Вопрос, так как этот контрол будет отображать вопрос текста. Аналогично придуманы имена остальных контролов. Префикс opt – OptionButton, название контрола «переключатель», cmd – от CommandButton, КоманднаяКнопка или просто «кнопка». Как видите, едва взглянув на схему, можно допустить некоторые догадки о предназначении и типе элементов. Назначая имена объектам и другим сущностям, следует придерживаться принципа интуитивной понятности. Выбор платформы для построения приложенияПоследнее, с чем следует определиться, прежде чем переходить к этапу реализации – платформа. Что будет субстратом приложения, какой язык будет использован и так далее. У нас выбор невелик. Мы используем VBA, так как все пособие посвящено этому языку, субстратом будет одно из приложений MS Office. Приложение, спроектированное нами, можно создать в любом из них без каких бы то ни было изменений. Существенным для выбора рабочего приложения MS Office являются данные, используемые нашим приложением. Данные как критерий выбора субстрата Давайте проанализируем структуру данных. Как мы решили, будущее приложение будет использовать набор вопросов. Каждому вопросу соответствует набор ответов. Один из ответов должен быть помечен как правильный (другой, более эффективный, но более сложный для реализации вариант – каждому ответу присваивается «степень верности», тогда ответ может быть не только «верный» или «неверный», но и «более-менее верный». Мы так делать не будем, захотите – сделаете сами. Когда материал пособия будет усвоен, вы легко справитесь с этим). Также должен существовать набор, хранящий выбор пользователя. Используя этот набор, будет проводиться оценка эффективности тестирования. Очевидно, можно сделать так: «один вопрос – один выбор пользователя». Тогда выбор пользователя будет заключать в себя номер выбранного ответа. Либо «один ответ – один выбор». Это позволило бы делать множественный выбор, когда правильны несколько ответов. Все эти вопросы должны быть освещены в требовании и проанализированы. Изберем простое решение. Только один ответ может быть верным, меру верности не используем.
Такая структура будет для каждого вопроса. Связи и зависимости объектов принято изображать на схемах при помощи соединительных линий.
Не правда ли, напоминает таблицу? Правда, остается много пустых полей, но не будем обращать на это внимания. Исключение пустых полей может сэкономить ресурсы, но приведет к усложнению приложения. Можно, правда, разместить все данные в одну строку. Это немного улучшит ситуацию. Но мы не будем делать этого – чтобы в дальнейшем продемонстрировать некоторые приемы. Оптимальный выбор для данных такого рода – MS Access. Использование этого «субстрата» позволит работать с данными очень больших объемов, исключить «пустое место» будет просто, возможно будет вести учет ответов разных пользователей, данных ими на разные тесты и в разное время. Но подобное мощное и надежное приложение сложно в построении. Мы применим «субстрат», изначально предназначенный для работы с таблицами – MS Excel. Тем самым мы не будем использовать все описанные заманчивые возможности, но получим простоту и понятность при создании приложения. В дальнейшем, после успешного усвоения материала, вы сможете без особого труда перенести свое приложение на платформу MS Access. Итак, наш выбор – MS Excel. Приступим. Реализация пользовательского интерфейсаИтак, приступим к реализации пользовательского интерфейса будущего приложения. Делается это в IDE VBA.
Создание документа Excel Как правило, при запуске создается новый пустой документ Excel, называемый книгой. Если этого не произошло – создайте новую книгу.
Обзор книги Excel Осмотрите окна IDE. В окне Project Explorer видны составные части книги Excel:
Следует решить, где же мы будем размещать контролы. Выбор места для размещения контролов Нет запретов для помещения элементов непосредственно на листы книги Excel. Быть может, это вам понадобится когда-нибудь, но сейчас наша задача – научиться общим приемам. Нам не нужны листы Excel и предоставляемые ими широчайшие возможности, как мы условились, Excel в данном конкретном случае – лишь «субстрат» и хранилище данных. Добавление компонента к проекту Добавим специальный объект, предназначенный для размещения других контролов.
В окне Project Explorer появится новый объект UserForm1:
С этим объектом мы и будем работать. Как можно заметить, мы переключили отображение содержимого окна Project Explorer. Исчезло разбиение по типам объектов, сейчас объекты расположены в алфавитном порядке. Это переключение производится третьей слева кнопкой вверху окна Project Explorer. Вы можете использовать любой вариант, вопрос в удобстве. Переименование формы Первое, что нужно сделать – переименовать вновь созданный объект. Согласитесь, что имя UserForm1, назначенное языком VBA вновь созданному объекту, ничего не говорит о назначении объекта. Давайте назовем этот объект frmTest. Префикс frm – от Form (Форма). Окно Properties Настало время близкого знакомства с другим окном IDE VBA – окном Properties. Окно Properties (Свойства) предназначено для изменения некоторых свойств объектов. Эти изменения возможно делать только при создании приложения. Вот это окно:
Если вы не видите этого окна, вызовите его. Для вызова окна Properties выполните команду меню (ВидОкно Свойств). Иначе – нажмите [F4]. Еще один способ – щелкнуть по кнопке на панели кнопок IDE VBA:
Перед вами окно Properties. В заголовке окна – строка Properties - UserForm1. Иначе говоря – имя объекта, с которым в данный момент работаем. Ниже – «падающий» список, содержащий все доступные объекты. Если почему-то в списке выбран другой объект, не UserForm1 – выберите его. Ниже – две вкладки, Alphabetic и Categorized. Они предназначены для отображения доступных во время редактирования свойств. Соответственно, на вкладке Alphabetic свойства будут расположены в алфавитном порядке, а на вкладке Categorized – по категориям. С какой из вкладок работать – ваш выбор. Для простоты мы будем обращаться только к первой вкладке. Содержимое окна Properties – таблица из двух столбцов. В первом столбце – название свойства, во втором – значение. Приступим к переименованию созданного объекта-формы. Переименование формы
Как правило, это свойство всегда в начале «таблицы» (не забудьте, мы работаем с вкладкой Alphabetic). Уникальность свойства Name подчеркивается особым написанием – в скобках. Вспомните синтаксис свойств: <объект>.<свойство> Так вот, к свойству Name так обратиться нельзя. Здесь свойству Name будет соответствовать <объект>. В процессе работы приложения свойство Name не может быть изменено никаким способом. Да и при создании приложения изменение значение Name связано с переработкой всего текста программы. Именно поэтому мы определились с именами контролов уже на этапе проектирования. Вот строка свойства Name (выделена и помечена курсором мыши):
Значение свойства Name – UserForm1, что мы уже видели в Project Explorer.
Обратите внимание, что везде в IDE слово UserForm1 изменится на введенное нами. Например, в Project Explorer:
Изменения значений других свойств происходит похожим образом, в дальнейшем мы будем заострять внимание лишь на особенностях работы с тем или иным свойством. Теперь отобразим созданную форму в IDE и приступим к размещению элементов управления. Введение в визуальное редактированиеДля отображения объекта используются два способа. Во-первых, можно выполнить двойной щелчок на объекте в окне Project Explorer. Во-вторых, можно использовать кнопки вверху окна Project Explorer. Левая кнопка отобразит текст программы, относящийся к выбранному объекту, а вторая слева кнопка отобразит объект – если это возможно. Как мы уже разбирали раньше, такие объекты, как модули не имеют собственного вида.
Перед вами – заготовка формы:
Это – окно визуального редактирования IDE VBA. Заголовок окна содержит строку test.xls - frmTest (UserForm). Как можно догадаться, это – название файла проекта, имя объекта, а в скобках – тип объекта, с которым происходит работа. «Квадратиками» окружена заготовка будущей формы. Именно с ней будем работать. Окно Toolbox Как видите, появилось новое окно IDE. В заголовке слово Toolbox – Инструменты. На вкладке этого окна – доступные для текущего проекта контролы. Наводя курсор на значки в окне Toolbox, вы можете наблюдать подсказки с названиями контролов:
Курсор наведен на значок контрола Label – Метка. Краткое описание контролов было дано раньше. Если окно Toolbox не видно, следует вызвать его. Это можно сделать так: Выполните команду меню ВидИнструменты). (Иначе – щелкните на кнопке IDE VBA:
Поработаем еще немного с формой. Основные приемы визуального редактированияВернемся в окно визуального редактирования:
Попробуем освоить один из основных приемов визуального редактирования – изменение размеров объекта. Для изменения размеров предназначены «квадратики» по краям объекта.
Курсор изменит вид:
Теперь, при перемещении курсора, будет соответственно перемещаться «квадратик» – и изменяться размер формы. Когда вы отпустите левую клавишу мыши – размеры формы «зафиксируются».
Способы запуска приложения Следующим шагом будет пробный запуск приложения. Одна из особенностей VBA – возможность пробного запуска еще не завершенного приложения. Это помогает контролировать внешний вид и поведение программы и вовремя вносить нужные поправки. Есть два основных способа запуска приложения в среде IDE VBA. Первый способ – нажатие [F5]. Второй – щелчок по кнопке:
Способы эти равнозначны, вы можете делать так, как вам удобно. Не забывайте сохранять изменения перед каждым запуском, это обезопасит вас от потери данных в случае, если в программе окажутся серьезные ошибки, которые приведут к «краху» приложения. В некоторых случаях VBA не сможет однозначно определить, какой именно макрос следует запустить и выведет диалоговое окно с вопросом. Тогда следует закрыть это окно, один раз щелкнуть по заготовке формы и повторить попытку запуска.
Как видите, окно визуального редактирования исчезло, а на экране, поверх IDE VBA появилось окно, идентичное тому, с которым шла работа. Вы можете перемещать его по экрану, переходить на другие окна. Для этого окна недоступно изменение размеров и «сворачивание» в значок на панели задач – но подобные ограничения накладывает язык VBA, обойти их не удастся. Остановите выполнение приложения. Это также можно сделать по-разному. Во-первых, можно закрыть окно приложения обычным для Windows способом – щелчком по кнопке в верхнем правом углу окна. Во-вторых, можно щелкнуть по кнопке IDE VBA:
Совет на будущее. Если приложение почему-то не закрывается, или среда IDE VBA не реагирует на ваши действия – это бывает, например, при неправильно созданном бесконечном цикле Do...Loop, – можно приостановить выполнение приложения. Для приостановки: нажмите [Ctrl]+[Pause] или щелкните (если это возможно) на кнопке:
Далее вы можете продолжить выполнение (тем же способом, каким производится запуск приложения), либо остановить выполнение окончательно. Добавление контролов на формуПерейдем к размещению контролов на заготовке формы.
Начнем с верхнего контрола. Это – TextBox.
Теперь можно расположить контрол TextBox на заготовке формы.
Курсор изменит вид:
Это значит, что IDE готова к размещению контрола. У других контролов форма курсора может быть другой. Дальнейшие действия могут различаться. Способы помещения контрола на форму Вы можете один раз щелкнуть измененным курсором на заготовке формы. На ней появится заготовка текстового поля небольшого стандартного размера:
Обратите внимание, что «квадратики» вокруг формы исчезли, зато появились вокруг вновь созданного контрола. Если вы хотите сразу поместить контрол на форме, придав ему требуемые размеры, можно сделать так:
Контрол готов: Визуальное редактирование контролов «Квадратики» на границах элемента управления предназначены для изменения размеров контрола совершенно аналогично тому, как это делалось для формы. Только для работы вам доступны все «квадратики», а не только правые и нижние, как для формы. Кроме того, «схватив» мышью за контрол, вы можете перенести его в другое место формы, не изменяя размеров. Если вы еще раз щелкнете на контроле, то увидите, что «ободок» вокруг контрола изменится и появится текстовый курсор – вертикальная мигающая черточка: Сюда вы можете ввести текст, который хотите поместить на контроле. Иными словами, так вы можете легко изменить значение свойства, отвечающего за надпись на контроле. Для TextBox это свойство Text.
А теперь отследите значение свойства Text в окне Properties: Как видите, значение свойства действительно изменилось. Как правило, подобный способ ввода используется, когда вам нужно внести много декоративных надписей на однотипные контролы. В общем случае следует использовать окно Properties. Перенос фокуса Вновь обратите внимание на то, что «квадратики» окружают созданный контрол. Сейчас заготовка формы недоступна для работы.
Как видите, «квадратики» вновь окружают форму, а созданный контрол обрел обычный вид. Это действие носит название «переместить фокус». Фокус на том объекте, который окружен «квадратиками». Другой способ переместить фокус – выбрать название нужного объекта в списке вверху окна Properties.
Второй способ применим, к примеру, когда контрол не виден потому, что «заслонен» другими объектами. Или когда на заготовке формы, созданной кем-то другим, много элементов, и вы хотите разобраться в них.
Заготовка формы примет примерно такой вид: Размещение контролов на форме Теперь следует разместить элементы управления согласно эскизу, сделанному нами ранее.
Теперь переименуем все контролы соответственно именам, определенным во время проектирования.
Не забывайте время от времени сохранять проект. Свойства Caption элементов управления можно оставить без изменений, а можно удалить значения соответствующих свойств – все равно надписи в контролы будут помещаться во время работы программы. Переход по контролам с использованием клавиатуры
Вы увидите, что контролы по очереди «выделяются» пунктирной рамкой, а текстовое поле получает курсор. Это – поведение приложения, предназначенное для управления клавиатурой. Это бывает нужно, к примеру, в случаях неполадок мыши. Порядок перехода выделения определяется свойством TabIndex, которое есть у каждого контрола, который может участвовать в данной последовательности перехода при помощи клавиши [Tab]. Вы можете исключить контрол из последовательности, изменив его свойство TabStop. Значение TabStop, равное True – Истина, – включает контрол в последовательность перехода, изменение значения на False – Ложь, – исключает его. Попробуем изменить свойство TabStop.
Как видите, в правой колонке появилась кнопка со стрелкой вниз.
Появился падающий список с перечнем возможных значений свойства. Подобное поведение окна Properties помогает назначению свойств, имеющих предопределенный набор значений.
Проверьте, соответствует ли последовательность перехода следующей:
В общем случае переходы между контролами производятся «сверху вниз» «слева направо», хотя, конечно, могут быть исключения. Заметьте, что VBA назначает значения TabIndex соответственно последовательности помещения контролов на форму.
Занятие окончено. Мы успешно создали видимую часть будущего приложения – визуальный интерфейс. В дальнейшем мы уже не будем возвращаться к этому, а займемся написанием собственно программы. Итог занятияЭто занятие было практическим. Пожалуй, здесь не наберется материала на конспект, но не страшно – учебник изначально предназначен для обучения практической работе. А уж практики в ходе занятия было достаточно… Тем не менее, вы познакомились и с важным принципом построения приложений. Имеется в виду построение визуального интерфейса на основе данных, полученных при проектировании приложения. Как уже упоминалось, одна из распространенных ошибок начинающих – начинать работу с «рисования» внешнего вида программы в IDE, после чего горе-программист зачастую заходит в тупик и путается в собственных замыслах, не зная, что же дальше… Тогда как соблюдение последовательности процесса – от требований к анализу, от него – к проектированию, и далее – к созданию визуального интерфейса на основе полученных сущностей – облегчает и упорядочивает работу, исключая путаницу. Следует обратить внимание на момент назначения имен объектам. Как вы поняли, имя – важнейший атрибут объекта, с которым и будет идти дальнейшая работа. Своевременное назначение имени избавит вас от многократной переделки кода. К документации, которую вы ведете, следует добавить таблицу имен объектов в виде «имя – тип объекта – описание объекта», например, так:
Эта таблица поможет вам быстро вспомнить, что за объект встретился в коде, особенно полезно это бывает после длительного перерыва в работе. |