Визуализация алгоритмов и программного кода

advertisement
Визуализация алгоритмов и программного кода
(общие вопросы программирования)
Блок-схема как инструмент программирования.
[b]На конкретном примере часто используемого VBA-фрагмента показал несколько
методов визуализации. [/b]
Конкретный пример программного кода
Блок циклического переключения цвета
.
При многократном нажатии кнопки, цвет фона
циклически изменяется. Это позволяет сделать
обычную кнопку «многопозиционной».
Предлагаю сравнить стандартный код с возможностями программ его визуализации.
Вот фрагмент из стандартного редактора VBA:
Не слишком понятно? Тогда смотрите дальше…
Методы машинного анализа и визуализации кода сильно облегчают труд
программистов.
Без наглядной схемки иногда почти невозможно сообразить, чего не хватает в программе.
Полезна не только готовая диаграмма, но и сам процесс её построения: При создании
визуального образа программного кода становятся заметны его трудноразличимые
ньюансы, а сама картинка как опорный сигнал надёжно впечатывается в память.
Select Case [с_фон_b-fp-Режим].BackColor
GoTo Exit_b_fp_Режим_Click ' - если _
'Me![с_фон_b-fp-Режим].BackColor = (голубой), то _
'никаких действий в b_fp_Режим_Click выполнять не нужно. _
'Переключение в этот режим означает предупреждение, что _
'вместо "[f_id]" будет подключена другая спецформа.
End Select
В этом примере были использованы:
 Code Visual to Flowchart – построитель блок-схем по
готовому коду
Умеет работать с кодом любых языков
программирования. Графический курсор в блок-схеме
перемещается синхронно с перемещением текстового курсора в соседнем окне кода.
Умеет скрывать излишние подробности в отдельных блоках. Такие блоки содержат
в себе несколько программных инструкций (то есть, сразу несколько отдельных
строк).
Использую две взаимодополняющие версии: одну – «триал», другую – коряво
взломанную.
 Notepad++
– заменитель
стандартного блокнота . (безплатная)
Позволяет автоматически маркировать
цветом любой код, причем,
предустановленные настройки стиля
можно менять: цвет, фон и размер
шрифта задаются и хранятся отдельно для каждой группы элементов синтаксиса.
Цветной текст через буфер обмена доступен для вставки в любой текстовый
документ, в том числе, в MS Word. После вставки можно изменять оформление
отдельных элементов кода.
-
Как дополнение к вышеприведённой схеме кода предлагаю диаграмку, составленную
при помощи Access. То есть, СУРБД от Microsoft ( при творческом подходе)) - это
ещё один весьма полезный инструмент для составления блок-схем и визуализации
кода.
Любая
спецф
орма
при
своём
подкл
ючени
и
может
устано
вить в
Универсальной форме особый цвет фона кнопки [с_фон_b-fp-Режим]. Особый цвет
означает какое-то специфическое действие, которое должна выполнять эта подключенная
подчинённая форма..
Для создания алгоритмов я сейчас графическими блок-схемами не пользуюсь, хотя уже
лет пять, как знаком с программированием на Ассемблере, а там без чёткой
алгоритмизации вообще делать нечего: очень неудобно вести отладку больших программ,
так как в готовых изделиях (программируемых контроллерах) отсутствует нормальная
операционная система.
До сих пор в сложных случаях выручал обыкновенный текстовый процессор. Печатаю
вслепую (спасибо В.Шахиджаняну и его «Соло на клавиатуре»). Поэтому наиболее
простой и быстрый способ алгоритмизации для меня – в обычном Word-документе
создавать текстовые абзацы. Абзац – это тот же блок. А для взаимной и наглядной увязки
и компоновки блоков теперь можно использовать MSA.
(Word + Access) = «Быстрый и удобный редактор блок-схем»
Ещё работа в MS Word удобна тем, что кроме профессионально оформленного текста
можно вставлять в документ небольшие графические образы (привязанные к размерам
страницы).
И только изредка теперь понадобится работа в профессиональном графическом
построителе диаграмм.

Для профессиональных пользователей схемотехнических программ подойдёт
метод создания диаграмм при помощи редактора принципиальных и монтажных
электронных схем. Диапазон возможностей этих программ намного шире их
начальной сферы применения. Например, можно быстро расставить мебель в
большом и неоднородном помещении. Почти не придётся что-либо многократно
передвигать. Все перемещения – на экране монитора.
Такой способ работы с графикой имеет особый смысл, когда нужно оперировать не только
с логической субстанцией информационного блока, но и с его размерами и формой. А
также, с размерами, цветом и формой множественных информационных связей.
Другая особенность подобных программ – работа с любым количеством взаимосвязанных
слоёв (лишнюю информацию можно убирать с экрана).

В заключение скажу ещё об одной векторно-растровой программке, которая
полезна скорее для проработки алгоритмов, а не для визуализации кода.
Она имеет большое количество готовых элементов, и очень умно автоматизирует
рутинные операции. Освобождая человека для творчества. Творчество заключается не
только в создании выразительной блок-схемы (которая позволяет передать знания), но и в
том, чтобы при помощи неё понять что-то новое в конкретной сфере её применения.
Например, с её помощью я визуализировал один из алгоритмов функционирования
частной платёжной системы:
Для полного понимания алгоритмов электронных платежей одной схемки недостаточно, и
пояснения тоже нужны. Но для эксперта - достаточно взглянуть на неё, чтобы увидеть всю
систему в целом.
В современном быстром мире успех любого дела очень зависит от умения находить
сторонников и объяснить людям суть вещей и действий. Здесь язык образов является
предпочтительным.
Download