Это отличный шаг в правильном направлении.
Я сам сначала нашел drakonLua и drakonJS неестественными, несмотря на унифицированный синтаксис и относительное отсутствие синтаксиса. Я уверяю всех, что после 8 часов интенсивного использования он кажется более естественным, чем синтаксис lua или js, и после этого требуется гораздо больше времени, чтобы привыкнуть к синтаксису lua или js. Просто нужна некоторая адаптация.
Вероятно, это будет то же самое. Чтобы привыкнуть к чтению написанных таким образом диаграмм, потребуется некоторое время, но в конце концов это будет быстрее. Но я не думаю, что это его окончательная форма.
Изображение
Что-то вроде этого намного лучше, особенно это изображение
Изображение
Нет причин, по которым имена функций не могут иметь пробелы в редакторе drakon и преобразовываться в стиль camelCase или under score во время сборки. Также нет причин, по которым такие имена не могут иметь изображения в качестве префиксов.
Некоторые функции, которые используются постоянно, например логические операторы или назначения операторов, должны иметь собственную стилизованную версию вопроса или значка действия. Для редактора значки не будут отличаться от обычных значков вопросов или действий, но для человека-пользователя будет очень полезно различать их с помощью «синтаксического сахара» в форме диаграммы, как на изображении выше.
Однако основная критика, которую я испытываю в отношении предлагаемого синтаксиса, заключается в том, что имена функций находятся под их операторами, это неестественно. Люди привыкли читать сверху вниз и обычно оставляют писать. Почему бы не поместить имена функций над их операторами, а также заключить операторы в прямоугольник более светлого цвета, чтобы имя функции отображало ее область действия?
Я думаю, что причина, по которой автор создал такой, как он есть, заключается в том, что он показывает последовательные шаги, предпринимаемые выражением вверху, но это было бы все равно, что поместить тело функции над ее именем. При чтении любого значка нас интересует в первую очередь его имя, а не то, что он собирается делать и в каком порядке.
Самое важное, что я могу сказать, это то, что для того, чтобы иметь хороший новый синтаксис, вы должны начать с хорошего кода. Включение нескольких шагов в один значок - плохая практика. Это та же проблема, что и функция, которая выполняет две функции. Силуэт - перевязка от этой проблемы. Лучшее решение - просто выделить каждый шаг в отдельную диаграмму. Такой способ написания диаграмм занимает больше времени, но его легче читать.
Например,
Код:
randomString = Math.floor (Math.random (0, 100) * 200)
должен стать
Код:
randomNumber = getRandomNumberBetween (0, 200)
затем внутри диаграммы getRandomNumberBetween два значка действий, по одному для каждого шага
Код:
number = Math.random(min, 100) * max
Код:
flooredNumber = Math.floor (number)
Написав такой код, его легче читать, реорганизовывать, и структурные редакторы действительно сияют, когда каждый шаг разделен, потому что легче создавать инструменты вокруг единичных вещей, происходящих в одном значке.
Дополнительные примечания:
я не думаю, что текст с разными цветами - хорошая идея, потому что это затрудняет создание темных и светлых тем.
Белый текст на синем фоне плохо читается и т. Д.
Весь текст должен быть одного цвета, должны меняться только цвета фона.
Если вы хотите указать, что текст отличается, поставьте перед ним изображение (например, синий кружок). Цвета шрифта имеют ограниченный диапазон, прежде чем у вас закончатся работающие цвета. Изображения с префиксом никогда не закончатся, даже если у вас есть 1000 вариантов использования нового изображения.
Вы можете значительно уменьшить высоту и сложность значков по вертикали, используя префиксы изображений, поскольку они не требуют больших прямоугольников, требующих заполнения пробелов, добавляя больше пустого пространства и затрудняя размещение большего количества информации на экране. Изображения также выражают смысл более интуитивно, чем цвета.