Low code: что это? Настройка, расширения, тестирование и сравнение с no code

Автор: Ai Flowi · Опубликовано

Low code: что это? Это подход к разработке, при котором визуальная настройка и повторно используемые компоненты сокращают объём кода, написанного вручную для приложения или рабочего процесса. No code обозначает подход, позволяющий выполнить поддерживаемую задачу через настройку без написания кода. Оба подхода всё равно требуют решений о входных данных, разрешениях, обработке ошибок и критериях правильного результата.

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

Что такое low code и no code?

Графический конструктор предлагает готовые операции, поля настройки и соединения. Он может сделать существующую операцию доступной без переписывания её реализации. При low code эти операции могут сочетаться с выражениями или расширениями. При no code работа остаётся в пределах настраиваемых возможностей для конкретной задачи, без расширения поведения платформы.

Эти названия не являются показателем качества. Для редкой проверки может быть достаточно короткой ручной процедуры, а для повторяющейся работы со стабильным контрактом может подойти настроенный рабочий процесс. Сначала решите, что должно происходить. Автоматизация неуточнённого правила лишь заставляет его выполняться многократно.

По теме: RPA и искусственный интеллект.

Проверка предоставленного CSV показывает границу

Рассмотрим вымышленный CSV с полями request_id, category и requested_units. Предоставленное правило требует непустой текстовый идентификатор, category со значением standard или exception и целое количество единиц от одного до пяти. Запись с повторяющимся идентификатором нужно отложить для проверки. Эти ограничения придуманы для учебного примера и не являются ограничениями продукта.

Нужный результат — список принятых записей и список исключений с указанием исходной строки и причины отклонения. Запись во внешнюю систему не требуется. Правдоподобного числа выходных строк недостаточно, если список принятых записей потерял идентификатор, объединил две записи или превратил пустое значение в ноль.

Три способа выполнить одну и ту же учебную проверку CSV: на узких экранах установите фокус на область таблицы и прокрутите её по горизонтали.

Три способа выполнить одну и ту же учебную проверку CSV
ПодходВыполняемая работаСохраняющаяся ответственность
Ручная обработкаПроверяющий сверяет каждую предоставленную запись с письменным правилом и фиксирует исключения.Последовательно применять одно правило и сохранять связь с исходной записью.
Графическая настройкаЗагрузить записи и применить доступные настраиваемые операции для проверок, которые конструктор действительно предоставляет.Проверить разбор, допустимые типы, ветки отклонения и неподдерживаемые правила.
Программное выражение или расширениеРеализовать недостающую проверку или правило дубликатов, если существующие настройки не позволяют их выразить.Сопровождать логику, обработку ошибок, совместимость среды выполнения и регрессионные проверки.

Таблица сравнивает способы решения одной задачи, а не продукты или заявленную скорость. Если штатная функция уже охватывает правило, используйте её. Если задача разовая и объём позволяет провести проверку вручную, это может требовать меньше сопровождения, чем автоматический пайплайн. Расширение оправдано, если существующие средства не выполняют нужное требование, а не просто потому, что доступен редактор кода.

Настройке тоже нужен контракт данных

Определите, как парсер представляет пустые ячейки, похожие на числа идентификаторы и неожиданные столбцы. Идентификатор «001A» должен отличаться от «1A», если письменное правило идентичности не говорит обратного. Требование целого числа нуждается в явной трактовке; принятие произвольного числового текста может допустить значение, на которое последующая операция не рассчитана.

Проверяйте входные данные до любого действия с последствиями. Изучайте фактически разобранные строки, не предполагая, что внешний вид файла определяет тип во время выполнения. Если обязательные заголовки исчезли, остановитесь и зафиксируйте несоответствие схемы. Незаметное продолжение с пустыми полями может дать непригодный результат при внешне успешном запуске.

Справочник по основам рабочих процессов описывает типизированные соединения и настройку. Соединённый порт указывает на совместимость заявленных типов, а не на успешное выполнение правила CSV. Это различие действует и при одной лишь настройке, и при наличии выражения.

Документированные компоненты для примера

Справочники Load CSV, JSON Operations и Verification Router описывают их интерфейсы; предлагаемая проверка CSV документирована в каталоге; Ai Flowi не проверяла её в производственной эксплуатации.

пример конфигурации, а не зафиксированный тест: предоставьте разрешённый синтетический файл через csv_file компонента Load CSV, затем используйте JSON Operations, задав для operations точное значение JQ Expression, а для query — проверенное выражение валидации. Изучите возвращённое решение перед передачей в verification_result компонента Verification Router. Нужны рабочая область и разрешение читать файл; в этой схеме нет модели или внешнего провайдера. Этот пример не запускался; списки принятых записей и исключений ещё не получены.

Решите, что можно оставить в настройках

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

Если проверенное выражение обеспечивает недостающее сравнение на уровне файла, такая реализация относится к low code: теперь кто-то сопровождает исполняемую логику. Фиксируйте версию выражения рядом с версией правила. Если допустимый диапазон единиц изменится, обновите логику и снова проверьте граничные случаи перед принятием новых файлов. Визуальное соединение может остаться прежним, хотя смысл проверки изменится.

Не включайте разовое исправление для особого случая в повторно используемую проверку, пока оно не станет утверждённым правилом. Например, проверяющий может вручную восстановить отсутствующий идентификатор одной разрешённой строки по её источнику. Включение такого исправления во все будущие запуски незаметно превратит отсутствие идентификатора в выведенное значение. Передайте исключение на проверку, не добавляя особое правило, которое меняет контракт.

Расширение меняет того, кто отвечает за сопровождение логики

Справочник по собственным компонентам описывает реализацию собственной логики на Python для требований, не охваченных существующими компонентами. Статус: механизм расширения документирован; здесь не заявлен выполненный тест CSV-расширения. Собственный компонент — реализация, которую сопровождаете вы, даже если на схеме он соседствует со встроенными узлами.

Перед расширением установите точное недостающее правило. Для проверки дубликатов идентификаторов может хватить небольшого выражения вместо нового компонента. Если расширение необходимо, назначьте ответственного за сопровождение и сохраните небольшую запускаемую проверку, которая завершится ошибкой при поломке правила. Решите, как представляются ошибки и что принимает следующий компонент; ошибка, скрытая в виде пустого списка принятых записей, может замаскировать потерянную работу.

Тестирование следует правилу, а не визуальной схеме

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

В этом испытании сохраняйте исходные записи неизменными, чтобы неудачную проверку можно было отменить. Если последующая версия записывает данные во внешнюю систему провайдера, ей нужны собственная разрешённая учётная запись или учётные данные API и условия оплаты провайдера; использование сторонних API и моделей не включено. Эта дополнительная граница требует отдельной проверки записи и ошибок.

Типичные ошибки и связанные понятия

Меньше кода не означает меньше требований к принятию результата. Не добавляйте расширения до чтения каталога, не считайте типизированные связи тестами и не оставляйте сопровождение без ответственного. Контрольный список оценки описывает более широкую проверку пригодности для задачи. Оркестрация рабочих процессов рассматривает зависимости этапов и восстановление, а обратный ETL объясняет дополнительные решения при записи в рабочую систему.