/let-s-code

Let's code 🚀 - платформа для решения и проверки задач на встроенном языке 1С: Предприятие

Primary Language1C EnterpriseGNU General Public License v3.0GPL-3.0

Let's code - платформа для решения и проверки задач на встроенном языке 1С: Предприятие

Статус порога качества Join telegram chat Last release download GitHub issues License

Области применения

  • Площадка для тестирования соискателей - если в вашем процессе найма персонала предусмотрена процедура тестирования

  • Тренажер для разработчиков - каждый может потренироваться в решении алгоритмических задач на встроенном языке 1С: Предприятие

  • Челленджи - для реализации соревнований внутри команды разработки или комьюнити (по аналогии с 1С: Битва)

Логика работы

  • Администратор настраивает набор задач, количество баллов за решение и набор проверящих (unit) тестов

  • Участник тестирования выбирает задачу(и) из списка, знакомится с ее постановкой, реализует решение на встроенное языке 1С: Предприятие, запускает проверку (unit) тестов. Если тест пройден успешно, участник тестирования может опубликовать решение. При публикации решения в регистре фиксируется количество баллов и предоставленный код

  • Администратор имеет право увеличить/уменьшить количество баллов за конкретные решения/предоставленный код (например при CodeReview) с помощью инструмента отчет Результаты тестирования

Состав релиза

Элемент Назначение
1cv8.cf Конфигурация релиза
demo-base.dt Демонстрационная база с набором задач
Source code Исходники в формате 1С: EDT

Требования к программному обеспечению

  • OneScript для работы движка проверки

  • PowerShell

  • Платформа 1С: Предприятие 8.3.16 и старше (для корректной работы буфера обмена)

Публикации

Благодарность со ссылками на инструменты использующиеся в проекте

Развитие

Разработка: 1С: EDT

Руководство контрибьтора⚒: в соответствуещем разделе документации

Бэклог задач: Issues

Поддержать автора

Лучший способ поддержать автора - рассказать в чате канала Простая логика о том, как вы применили инструмент, и подписаться на наш YouTube-канал Команда ИТК

Информация о конфигурации

Ролевая модель

Роль Права Режим основного окна
Полные права Добавление задач и тестов, формирование отчета о резульататах тестирования Обычный
Участник тестирования Тестирование Рабочее место

Структура задачи

Элемент Назначение
Наименование Представление задачи в списке
Актуальность Признак актуальность задачи. Неактульные задачи не отображаются в списке
Постановка задачи Постановка задачи в формате HTML
Шаблон кода Шаблон кода, который заполнится в окне редактора кода у участника тестирования при выборе задачи
Набор тестов Таблица тестов См. структура теста

Структура теста

Элемент Назначение
Предустановка Инициализация входящих параметров функции
Тест Исходный код теста. Тест будет выполнен если значение этого кода будет Истина
Представление Визуальное отображение теста в протоколе тестирования

Алгоритм работы проверки задачи

  1. Входная точка в алгоритм - Справочники.ИТК_Задачи.ПолучитьРезультатыТестирования()
  2. Функция осуществляет подготовку протокола тестирования по набору тестов для задачи
  3. Тест считается успешным если, все тесты из набора выполнены Истина
  4. Если хоть один тест завершился не успешно, процедура проверки завершается

Алгоритм проверки теста

  1. Подготовка скрипта OneScript по шаблону
%КОД_УЧАСТНИКА_ТЕСТИРОВАНИЯ%
Попытка
	%ПРЕДУСТАНОВКИ_ПАРАМЕТРОВ_ТЕСТА%
	%КОД_ТЕСТА%
Исключение
	Результат = ОписаниеОшибки();
КонецПопытки;
Сообщить(Результат);
  1. Выполнение скрипта OneScript с помощью PowerShell
  2. Анализ результата выполнения