Jump to content

Практикум


Vlad
 Share

Recommended Posts

Есть идея сделать автоматизированный практикум для решения задач по HTML и CSS, чтобы можно было отработать навыки. Решения должны проверяться программой и выдаваться ответ, правильно или нет решена задача. Соответственно и задачи предполагаются достаточно простые, с единственным решением. Но у меня возник ряд вопросов, как это всё сделать красиво, чтобы сохранить баланс. Хотелось бы обсудить некоторые вещи.

  1. Нужно ли разделять HTML и CSS или набирать их в одном окне?
  2. Делать ли полную проверку синтаксиса HTML или ограничиться заданными правилами?
  3. Что делать с префиксами в CSS?
  4. Как быть со значениями? red, #f00, #ff0000 - формально одинаковые, но что-то может проверку не пройти.
Link to comment
Share on other sites

Просто сверять html/css код, мне кажется плохой вариант. Если делать, то можно взять за пример codeacademy/htmlacademy. Там в мелких задачах проверяется, если не ошибаюсь куски кода, а в финальных на htmlacademy сверяется картинка с эталонной. Возможно есть где-то и движок под это дело, т.к. сейчас много ресурсов используют похожие подходы.

1. Разделять обязательно нужно, это удобнее, нагляднее и уже привычнее.

2. Явные ошибки можно подсвечивать

3. То что может писаться без префиксов - писать без префиксов. Значения проверять через js, т.е. смотреть что присвоилось элементу.

4. Аналогично п. 4.

Если движков таких в открытом доступе нет, то автоматизировать всё это дело самостоятельно, мне кажется, слишком трудозатратно - очень уж много решений может быть для одной и той же задачи.

Link to comment
Share on other sites

Тут наверное одних рук не хватит. если делать. Я считаю Влад развитие раздела Практикум на сайте самое то. Вот только что случайно увидел  Как бэ само говорит

 

072605b94316.png

Edited by Get to heaven
  • Like 1
Link to comment
Share on other sites

21 час назад, sigma77 сказал:

Если движков таких в открытом доступе нет, то автоматизировать всё это дело самостоятельно, мне кажется, слишком трудозатратно - очень уж много решений может быть для одной и той же задачи.

Мне пока не удалось найти такой движок, если он есть, дайте знать.

Речь идёт о довольно простых задачах, которые имеют одно решение и проверять надо именно код. Мне приходила в голову идея сравнивать картинки, но тут есть другие подводные камни, в первую очередь связанные с текстом. Наверняка на htmlacademy (сам не видел) в финальных задачах обошлись вообще без текста.

9 часов назад, Get to heaven сказал:

Тут наверное одних рук не хватит. если делать. Я считаю Влад развитие раздела Практикум на сайте самое то. Вот только что случайно увидел  Как бэ само говорит

Речь о другом идёт.

Link to comment
Share on other sites

Проверка CSS - csslint есть под node.js точно

Проверка js - jslint и jshint опять же под node.js

Проверка HTML - tidy (http://php.net/manual/ru/book.tidy.php)

 

вот ещё набор скриптов для проверок, https://github.com/mikeemoo/SiteChecker/tree/master/plugins/Quality

Тоже используются csslint, phpQuery и т.д. Хотя фик знает может они и не рабочие уже.

 

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

Link to comment
Share on other sites

12 часа назад, VeniVidiVici сказал:

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

Проверка нужна, потому что задачи ориентированы на новичков, а они ещё не знают толком, как правильно писать. К тому же многие забывают какие-то обязательные атрибуты добавлять, а проверка подтолкнёт и научит их писать правильно.

@wwt, спасибо, посмотрю. Но проверку хочу сделать на JS, чтобы в браузере всё проверялось, а не на стороне сервера.

Link to comment
Share on other sites

В 6/4/2016 в 05:15, Vlad сказал:

Нужно ли разделять HTML и CSS или набирать их в одном окне?

я думаю что нужно.

1) Т.к. данные практически занятие преимущественно ориентированы на новичков, важно в их сознании закрепить то, что не надо инлайнить стили и без необходимости использовать тег <style>

2) Резделение позволит упростить валидацию решения

В 6/4/2016 в 05:15, Vlad сказал:

Делать ли полную проверку синтаксиса HTML или ограничиться заданными правилами?

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

В 6/4/2016 в 05:15, Vlad сказал:

Что делать с префиксами в CSS?

префиксы не существенны. Сущестуют такие вещи как autoprefixer и тп.

В 6/4/2016 в 05:15, Vlad сказал:

Как быть со значениями? red, #f00, #ff0000 - формально одинаковые, но что-то может проверку не пройти.

проверять суть а не реализацию. Например, все эти значения можно сконвертировать в RGB(A). Вместе с тем можно давать рекомендации.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy