Change History (6)

comment:1 Changed 3 years ago by Святослав Власов

Корректность -- 6.5/8

  1. Лишняя точка в конце Unknown command
  2. Выводишь лишние пробелы
  3. Удаление всех точек должно работать за линию. У тебя -- за квадрат.

Стиль -- 3/4

  1. Макрос container_of зависит от stddef.h, нужно его включить перед объявление макроса
  2. printf("%s\n", ""); -- Странная конструкция. Зачем здесь пустая строка?
  3. Не нужно выделять память под команду на каждой итерации цикла на куче. Заведи статический буфер на стеке, этого будет достаточно.
  4. Если ты хочешь гарантированно пропустить неизвестную команду до конца строки, тебе не нужно очищать и перевыделять память на каждой итерации цикла -- пиши в тот же буфер поверх и всё.

comment:2 Changed 3 years ago by Святослав Власов

Type: ожидается проверкаожидаются исправления

comment:3 Changed 3 years ago by savinov.vladislav

Type: ожидаются исправленияожидается проверка
Version: 1.02.0

comment:4 Changed 3 years ago by Святослав Власов

Type: ожидается проверкаожидаются исправления

11.8/12

Всё хорошо, но мне по прежнему не нравится твой цикл читающий остаток строки, давай его исправим.

Во-первых, переменная is_command_end избыточна. У тебя есть условие в цикле while, можно всё написать там.
Во-вторых, функция strcspn ищет вхождение в строке одного из символов другой строки. Тут она избыточна, т.к. ты ищешь один конкретный символ. Для этого лучше подойдет функция strchr.

comment:5 Changed 3 years ago by savinov.vladislav

Type: ожидаются исправленияожидается проверка
Version: 2.03.0

comment:6 Changed 3 years ago by Святослав Власов

Resolution: задача сдана
Status: assignedclosed

12/12

Note: See TracTickets for help on using tickets.