Ваш кейс кажется логичным только на первый взгляд. Что такое задание тестирует? Если математику, то print(10) - нормально, он же посчитал.
А если программирование, то пусть напишет `func(a, b){return a+b}`, а сьют тестов пусть прогоняет десятки значений, да еще и property-based testing поверх сделает.
Заметьте, такой подход самый здоровый, тк проверяет на то на что надо - если версии языка/библиотек разошлись, то и фейлы будут правильные, и error trace настоящий, итп.
Более того, уже написаны тесты на цикломатическую сложность, на форматирование, на десятки вещей - просто plug&play
Любая глупость с regex итп - это выстрелить самому себе (курсостроителю) в пах из автомата: а что будем делать когда версия языка слегка обновится? а библиотеки? а когда ворнинги пойдут? а регекс для каждого языка/курса отдельно прописывать?
Возможно что в языках типа JS или Python, студент в каких-то случаях теоретически может схитрить и в конце вбить нужный результат (myclass.answer = 10). Насколько это критично по сравнению с поддержанием чего-то другого (плюс на практике такие дырки можно закрывать локально)
А можно обсудить/проговорить про техническую сторону вопроса?
Я не знаток, но в проблемы с тренажером сложно проверить:
как так 3+5 хорошо а 5+3 - нет?
как это компьютер воспринимает I как 1?
Может быть кто-то знаком, как это так работает? Или автор просто не понимает почем образный 3+5 - совсем не 5+3? (что конечно тоже частично проблема курса)
у вас с пробелами каша в коде, не полетит ;-)
Ваш кейс кажется логичным только на первый взгляд. Что такое задание тестирует? Если математику, то print(10) - нормально, он же посчитал.
А если программирование, то пусть напишет `func(a, b){return a+b}`, а сьют тестов пусть прогоняет десятки значений, да еще и property-based testing поверх сделает.
Заметьте, такой подход самый здоровый, тк проверяет на то на что надо - если версии языка/библиотек разошлись, то и фейлы будут правильные, и error trace настоящий, итп.
Более того, уже написаны тесты на цикломатическую сложность, на форматирование, на десятки вещей - просто plug&play
Любая глупость с regex итп - это выстрелить самому себе (курсостроителю) в пах из автомата: а что будем делать когда версия языка слегка обновится? а библиотеки? а когда ворнинги пойдут? а регекс для каждого языка/курса отдельно прописывать?
Возможно что в языках типа JS или Python, студент в каких-то случаях теоретически может схитрить и в конце вбить нужный результат (myclass.answer = 10). Насколько это критично по сравнению с поддержанием чего-то другого (плюс на практике такие дырки можно закрывать локально)
казалось бы, написать пару юниттестов в рантайм - самое простое. А еще (хотя-бы часть) студентам дать чтобы у себя на машинах гоняли.
мне кажется все кроме банальных тестов и (моoooжет быть) чеков AST - от лукавого и большое проблем чем решений создает.
Если это реально чеки на соответствие текста - то я все равно с трудом понимаю как это, и, выражаясь языком RadioT, вон из профессии
Может кто-то из разработчиков может прокомментировать? Может быть какой то AST хотя-бы чекается? ибо действительно странно
А можно обсудить/проговорить про техническую сторону вопроса?
Я не знаток, но в проблемы с тренажером сложно проверить:
как так 3+5 хорошо а 5+3 - нет?
как это компьютер воспринимает I как 1?
Может быть кто-то знаком, как это так работает? Или автор просто не понимает почем образный 3+5 - совсем не 5+3? (что конечно тоже частично проблема курса)