Реализация класса вопроса Correct Writing

Issue #98 closed
Oleg Sychev repo owner created an issue

Originally reported on Google Code with ID 98

Реализовать класс вопроса для типа вопроса Correct Writing

Reported by oasychev on 2012-02-26 20:23:49

Comments (8)

  1. Oleg Sychev reporter

    ``` В Moodle для класса вопроса принято, что все параметры вопроса (задаваемые на форме ее редактирования и т.д.) являются публичными свойствами. Вы могли видеть это на примере. Функции для доступа к ним не нужны, должны быть только соответствующие свойства.

    Это нужно, в частности, для создания объектов вопроса при юнит-тестировании без БД.

    Поэтому исправьте свой код.

    И для логических операций в Moodle принят С++ стиль, а вы кое где на and or по паскалевскому перешли (PHP допускает оба). Исправьте. У них и приоритеты разные... ```

    Reported by `oasychev` on 2012-02-26 20:27:51

  2. Oleg Sychev reporter

    ``` Дмитрий, следите пожалуйста за коммит-сообщениями. Что такое "дополнительные методы" или "базовые функции"?! Их что, сложно было перечислить в сообщении (если вы не можете подобрать им единого названия)?

    И делайте коммиты атомарными! Mercurial может коммиттить часть ваших изменений, если вы сделали их несколько штук за раз, если вы используете современную версию Hg то для этого нужно использовать shelve - откладывание на полку части изменений перед коммитом. Не надо исправление одного увязывать с другим - если придется отменять такой коммит, много проблем.

    Строки из shortanswer копировать не обязательно - никто не запрещает вам ссылаться в get_string на shortanswer-строки.

    И разберитесь с именем юзера, под которым идут ваши коммиты - это в ваших же интересах... ```

    Reported by `oasychev` on 2012-04-07 11:30:29

  3. Oleg Sychev reporter

    ``` 30. На рисунке странности с отсутствующими и лишними лексемами. Предлагаю лишние зачеркнуть, отсутствующие обвести.

    31. Класс вопроса: дублирование кода в конце функций поиска точных и неточных совпадений; вообще не объединить ли их в одну? 32. Класс вопроса: сейчас точное совпадение с низкой оценкой превалирует над (возможно тоже точным) совпадением с высокой... Зачем делать две функции? Не проще ставить условия в зависимости от оценки и прерывать цикл если найдено полное совпадение? 33. Класс вопроса: по требованиям валидации в вопросе должен быть хотя бы один ответ с оценкой 100%, достаточно найти его при поиске максимума...

    ```

    Reported by `oasychev` on 2012-08-09 15:37:09

  4. Oleg Sychev reporter

    ``` 33. Класс вопроса: по требованиям валидации в вопросе должен быть хотя бы один ответ с оценкой 100%, достаточно найти его при поиске максимума...

    public function grade_as_wrong_response_to_max_fraction($response) { $fraction = -1; $maxid = null; foreach($this->answers as $id => $answer) { if (($answer->fraction >= $fraction) || ($maxid == null)) { $maxid = $id; $fraction = $answer->fraction; } } Не совсем понятно зачем искать максимум, когда известно что он равен 100%. Можно найти id первого ответа на 100% и все.

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

    ```

    Reported by `oasychev` on 2012-09-10 16:33:37

  5. Former user Account Deleted

    ``` Все правки по данному issue выполнены. ```

    Reported by `mamontov.dp` on 2012-09-25 17:18:48

  6. Oleg Sychev reporter

    ``` 34. Там есть функция с комментарием / Flushes cached data. TODO: Remove

    • / Она еще нужна или TODO пора выполнить?

    Над check_match_answer я еще подумаю, не очень она мне нравится. ```

    Reported by `oasychev` on 2012-09-30 19:31:25

  7. Oleg Sychev reporter
    У вас после правок  get_correct_response кнопка показа правильного ответа заработала
    в предпросмотре? Что-то глядя на код мне это сомнительно...
    

    Reported by oasychev on 2012-11-08 15:43:27

  8. Log in to comment