IDE или плагин для добавления полезной графики или иллюстрации кода как есть?

#plugins #ide #code-formatting #code-visualization

#Плагины #ide #форматирование кода #визуализация кода

Вопрос:

Я смотрел на свой код, думая о том, как скучно выглядит текст. Все, что я вижу, это текст, без визуализируемой структуры.

Визуализируемые структуры были бы потрясающими:

  • Фоновая графика, такая как 3D-хаф-пайпы на ребрах, соединяющие открывающие и закрывающие скобки областей цикла, вложенные в 3D, чтобы показать, насколько глубоко вложены циклы.
  • Провода со стрелками вдоль них, показывающие, куда указывает оператор goto, с выделением раздела кода (или предварительным просмотром, если он находится вне области просмотра) целевой метки.
  • Условные блоки могут отображаться так, чтобы код «true» отображался положительным цветом, а код «false» — отрицательным, а наведение курсора мыши на фон у левого края могло бы показать предварительный просмотр оператора условия для этого блока (с добавлением «== true» или «== false» в зависимости от контекста кода).
  • Значки типов, которые отображаются перед именами переменных, чтобы вы знали, к какому типу они относятся.
  • Измените фон метода, отображая плиточные блокировки или ключи, в зависимости от того, вводите ли вы public или private перед методом (хороший индикатор по умолчанию, если вы не указали ни то, ни другое).

Есть ли что-нибудь, что иллюстрирует подобный код?

Я не имею в виду аналитически сгенерированную графику, представляющую каким-либо образом код или алгоритмическую структуру. Скорее, я имею в виду то, что на самом деле иллюстрирует редактируемый код на месте.

Комментарии:

1. «goto»? На каком языке вы пишете?

2. Какой язык вы используете? Какая платформа? В некоторых IDE есть плагины, которые выполняют часть того, о чем вы говорите.

3. C #. В каких языках нет «goto»? Они отлично подходят для уклонения от рекурсивных алгоритмов или полного выхода из глубоко вложенного цикла при одном условии.

4. Я использую Visual Studio, но я имею в виду ЧТО-нибудь подобное для любой IDE.

5. Что вообще за ненависть к «goto»? Предположим, у вас есть 10 возможных условий успеха, любое из которых вызовет «успех». Это могут быть короткие блоки кода или целые методы; не имеет значения. Когда выполняется какое-либо одно условие, вы можете использовать goto, чтобы пропустить оставшиеся проверки и перейти прямо к строке «успех». Это примерно эквивалентно повторению условий в цикле и «разрыву» при успешном выполнении. Это точно то же самое. Разница в том, что использование goto позволяет избежать зацикливания и для большей ясности изложить свои условия в коде линейно.