Плюхи для облегчения творчества на БАС
-
КОММЕНТАРИИ:
-
Добавить возможность комментировать else, а не только if. Бывает такое, что скрипт огромный и else и if находятся друг от друга на дальнем расстоянии, которое уходит за поле видимости экрана. Если еще и учесть, что там могут быть вложенные условия, то читаемость кода ухудшается в разы, поэтому было бы неплохо дать возможность комментировать и еlse.
-
Сделать систему отображения комментариев более удобочитаемой. Это нагромождение элементов комментирования и в без того маленьком кубике визуально убивает рабочее пространство: номер id, горизонтальная черта коммента, сам коммент. Почему бы не вынести комментарии, как в поля ввода для функций, где есть мини кружочек со знаком вопроса внутри, при наведении на который отображается подробная инфа. Либо что-то другое, более юзабельное, но пока что это смотрится очень громоздко, особенно при плотном скрипте с обильными комментариями, тем более если комментарий и многострочный к тому же.
УСЛОВИЯ
- БАС уже пора переходить на более продвинутое использование условных конструкций. Наслоение if после каждого else это крайне неудобно, при том что дочернее условие схематически сдвигается вправо для обозначения иерархии родитель-потомок, а это нарушает визуальный ряд при ограниченном рабочем пространстве. Я предлагаю в else давать возможность задавать условие, так же как это реализовано в if. Можно еще switch-case. P.S.: "выполнить код" не предлагать :)
ШАБЛОНЫ ВСТАВКИ
- Даже с приходом системы создания модулей эта потребность не отпала. Мечтаю об этом с архаичных времен пребывания на БАС :) Почему шаблон !== модуль ? Например, более прогрессивные пользователи отказываются от использования "спать" в скрипте, а следовательно, буквально в каждом скрипте приходится реализовывать цикл while, ищущий элементы, однако, если не реализовать timeout по времени, то цикл будет работать бесконечно. Для того, чтобы это осуществить, необходимо получить текущее время перед циклом, а основное действие перенести во внутрь. Ну и как такое реализовать без костылей? Мне лично удалось создать подобный костыльный модуль, но только вкупе с другими действиями. Кто-то знает как начистую реализовать таймаут цикла while в универсальном модуле? Напишите в комментах.
-
-
@olegtut said in Плюхи для облегчения творчества на БАС:
Кто-то знает как начистую реализовать таймаут цикла while в универсальном модуле? Напишите в комментах.
-проверяем доступность элемента
-если нет, то спим секундув сам цикл while пишем следующее
[[IS_EXIST]] != true && [[CYCLE_INDEX]] < 60это если не более минуты на ожидание
-
@Daniel said in Плюхи для облегчения творчества на БАС:
@olegtut said in Плюхи для облегчения творчества на БАС:
Кто-то знает как начистую реализовать таймаут цикла while в универсальном модуле? Напишите в комментах.
-проверяем доступность элемента
-если нет, то спим секунду
в сам цикл while пишем следующее
[[IS_EXIST]] != true && [[CYCLE_INDEX]] < 60это если не более минуты на ожидание
Ну тогда уж по твоей версии правильнее так:
![[IS_EXIST]] && [[CYCLE_INDEX]] < 60Или так:
[[IS_EXIST]] !== true && [[CYCLE_INDEX]] < 60Где гарантия что проход по циклу while обязательно равен секунде, с учётом, что и там у меня могут быть условия или код? Например, в твоем коде мы в цикле проверяем отсутствие элемента, но обязательно должно юзаться действие внутри цикла для перепроверки, не появился ли элемент снова, да и перед while придется перепроверить существование элемента, иначе БАС может просто не зайти в цикл. А если таких элементов у меня 20?
Это косвенный и не совсем точный метод выявления таймаута, наиболее верный - это разница между последним временем и самым первым. Но вот тут и возникает загвоздка для универсального модуля. -
@GhostZ said in Плюхи для облегчения творчества на БАС:
а в чем проблема? Можно сделать так например:
@olegtut said in Плюхи для облегчения творчества на БАС:
P.S.: "выполнить код" не предлагать :)
-
@olegtut said in Плюхи для облегчения творчества на БАС:
Или так:
[[IS_EXIST]] !== true && [[CYCLE_INDEX]] < 60!= not equal x != 8
!== not equal value or not equal type x !== 5в данном примере идет сравнение булевого значения по умолчанию, так что нет смысла проверять ещё и по типу.
@olegtut said in Плюхи для облегчения творчества на БАС:
Где гарантия что проход по циклу while обязательно равен секунде
тогда вместо секунду добавить код:
var ms = 100; await (new Promise((resolve, reject) => { setTimeout(function(){ resolve() }, ms); }));и уже задержку можно изменять в ms. Знаний в js тут не надо, для того, чтоб быстро исправить значение задержки. Так же и внутри проекта, один раз вставил и разнес кубик по всем точкам, где он необходим.
Я вопрос понял так: как при ожидании элемента через цикл while выйти по достижении определенного таймаута?
Решение выше. И тут максимум добавляется задержка в секунду, если через кубик "спать", либо управляемая задержка, через "выполнить код" -