#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 позволяет избежать зацикливания и для большей ясности изложить свои условия в коде линейно.