Существует ли визуальный двумерный редактор кода?

Позвольте мне объяснить, что я подразумеваю "под двумерным редактором кода": вообразите использования Inkscape, или Gimp в большом холсте (скажите бесконечный). Инструмент "T - add text" используется для написания кода. Кроме того, все функциональные определения будут структурированы, и ссылки соединят вызванные функции.

Другими словами: у Вас есть очень большой лист (виртуальной) бумаги, где можно записать.

Это было бы действительно полезно. Я не хочу писать код как длинный список строк, особенно теперь, когда большие мониторы являются более дешевыми.

Такой редактор кода там?

Каково твое мнение? Вы использовали бы 2-й редактор кода?

6
задан Tyler Carter 12 February 2010 в 21:18
поделиться

5 ответов

Я написал 3 или 4 визуальных редактора, и мой второй работал так, он был для java и c ++ (никогда не публиковался, хотя я использовал его для некоторых опубликованных исследовательских работ) Я по-прежнему не люблю писать свой код «в виде длинного списка строк». Я хочу сказать, что, попробовав такую ​​систему, я попробовал оконную систему (очертания классов в окнах, щелкните правой кнопкой мыши, чтобы открыть редакторы кода), затем систему на основе дерева ...

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

Если вы хотите попробовать что-то из этого, вы можете использовать Google antegram для java (только java), antegram для Интернета (javascript / php / actionscript) и ee-ide (на oogtech.org) . Я не уверен, смогу ли я откопать исходный редактор текстовых полей C ++ / java + ссылки (который также мог сворачивать графики и имел бесконечный холст, что очень близко к тому, что вы описываете).

Я не работаю над этим так много, как раньше, потому что это когда-либо нравилось нескольким программистам, кроме меня, но если вам нравится работать в древовидной структуре или вы хотите добавлять что-то для своих целей, ee-ide будет быть лучшим вариантом, поскольку он имеет красивую модульную структуру и его легко расширять по сравнению с остальными.

С коммерческой точки зрения вы можете настроить Visual Studio для работы с UML-подобными диаграммами. Я чувствую, что это может быть слишком тяжеловато (хотя это определенно больше кодирования, чем ориентировано на UML), но я не уверен, я еще не пробовал.

1
ответ дан 17 December 2019 в 22:12
поделиться

Вероятно, это не совсем ответ на ваш вопрос, но все равно.

Взгляните на бета-версию NodeBox . Это среда визуального программирования, в основном предназначенная для создания генеративной графики. Вы можете программировать и редактировать узлы с помощью кода Python, подключать и повторно использовать их различными способами. (Windows и Mac OS)

Также стоит упомянуть (с точки зрения концепции) Поле . Он предназначен для программирования выступлений и размещает фрагменты кода на сцене / временной шкале. Очень интересно, но также очень запутанно. (Только Mac OS)

Третий - vvvv . Графические художники часто используют его для создания трехмерных изображений в реальном времени. На основе узла. (Только для Windows)

NodeBox и Field имеют открытый исходный код, поэтому, если вы хотите создать что-то самостоятельно, вы можете увидеть, как это делается там.

1
ответ дан 17 December 2019 в 22:12
поделиться

В какой-то момент у LabView был такой режим программирования. Вы соединили программные блоки вместе графическим способом.

Я так давно не использовал LabView, что не знаю, остался ли он прежним.

0
ответ дан 17 December 2019 в 22:12
поделиться

Для меня образец MVVM означает, что за элементами управления пользовательского интерфейса в любом случае нет кода. Логика вся в классе со свойствами.

Свойства используют привязку данных WPF для обновления элементов управления пользовательского интерфейса. Например, в форме или окне, странице, что бы то ни было, MySeireButton.IsEnabled привязан к свойству ViewModel.MySeureButureIsEnabled. Поэтому логика приложения работает в классе ViewModel и просто устанавливает свои собственные свойства, и пользовательский интерфейс обновляется автоматически.

Хотя это специфично для MS WPF, образец фактически происходит из SmallTalk и встречается в области разработки как MVP. Без WPF потребуется записать привязку данных или логику «презентатора», которая является обычной.

Это означает, что пользовательский интерфейс может быть разорван, а новый вставлен очень быстро и с небольшими знаниями кода от пользовательского интерфейса - который, в идеальном мире, является креативным парнем, который управляет Citroen 70-х годов.

Поэтому моя точка заключается в том, что, хотя это звучит как аккуратное нововведение, редактор 2D, подобный этому, будет помогать стилю кодирования, который больше не считается оптимальным.

-2
ответ дан 17 December 2019 в 22:12
поделиться

Проверьте это. Наткнулся на это сегодня и вспомнил этот вопрос.

Пузыри кода

alt text

Разработчики тратят много времени на чтение и навигацию по фрагментам кода , разбросанным по разным местам. файловая природа современных IDE чрезвычайно затрудняет создание и поддержание одновременного просмотра таких фрагментов. Мы предлагаем новую метафору пользовательского интерфейса для понимания и поддержки кода , основанную на наборах легких, редактируемых фрагментов, называемых пузырями, которые образуют одновременно видимые рабочие наборы.

Основная цель этого проекта - упростить разработчикам одновременный просмотр множества фрагментов кода (или другой информации) без необходимости {{1 }} перемещаться вперед и назад. Каждый из этих фрагментов показан в виде пузыря.

Пузырь - это полностью редактируемое и интерактивное представление фрагмента, такого как метод или набор переменных-членов . Пузыри, в отличие от окон , имеют минимальную границу оформления, избегают обрезки их содержимого с помощью автоматического перекомпоновки и исключения кода и не перекрываются {{ 1}}, но вместо этого выталкивают друг друга с пути . Пузырьки существуют в большом виртуальном двумерном пространстве с возможностью панорамирования, где кластер пузырьков составляет одновременно видимый рабочий набор. Пузырьки поддерживают легкую группировку { {1}} механизм и дальнейшая поддержка соединений между ними.

Количественное исследование пользователей показывает, что Code Bubbles значительно повысили производительность для двух контролируемых задач понимания кода. качественное исследование пользователей с участием 23 профессиональных разработчиков указывает на значительный интерес и энтузиазм к этому подходу, несмотря на радикальный отход от того, чем являются разработчики. раньше.

http://www.cs.brown.edu/people/acb/codebubbles_site.htm

1
ответ дан 17 December 2019 в 22:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: