Opened 3 years ago
Closed 3 years ago
#76 closed ожидается проверка (задача сдана)
WW_3_kravchenko
Reported by: | kravchenko.egor | Owned by: | Святослав Власов |
---|---|---|---|
Component: | WW_mergesort | Version: | 3.0 |
Keywords: | Cc: |
Description
Change History (7)
comment:2 Changed 3 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
comment:3 Changed 3 years ago by
Насчет лишних пробелов -- исправили проблему, теперь тесты работают.
Тесты проходят, к корректности претензий нет, но за лишние пробелы всё таки минус балл, поэтому 6/7
comment:4 Changed 3 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|---|
Version: | 1.0 → 2.0 |
comment:5 Changed 3 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
Корректность 6/7:
- Сортировка строк поломалась
- Вывод обязательно должен завершаться пустой строкой
Стиль 2/3:
- Не надо ставить пустые строки в начале тела функции.
- Вот так лучше не писать: if (res == NULL) return -1; тело лучше перенести на новую строку
- Пробел перед ++ не ставится.
- А вот между ) и { пробел обычно ставится.
comment:6 Changed 3 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|---|
Version: | 2.0 → 3.0 |
- Сортировку строк пофиксил -- очень глупый баг был.
- Не очень понял, что нужно сделать. Надеюсь, просто вывести после всего вывода пустую строку. В задании не было об этом ничего написано. Это общее требование ко всем консольным приложениям?
Есть какая-нибудь программа, проверяющая стиль? На странице курса про него совсем мало написано, а поиск и исправление этих ошибок (особенно тех, про которые я раньше не знал) занимают время и у меня и у Вас.
comment:7 Changed 3 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
- Сортировку строк не пофиксил. Посмотри внимательно в задании -- тип называется str, а не string.
- Согласен, в задании не объяснено, поэтому за это баллы не снижаю, на практике я к этому вернусь и всё уточню.
Т.к. строки не сортируются, но ошибка элементарно фиксится, поэтому за корректность 6.5/7
Стиль 2.8/3
Код выглядит намного лучше, чем изначально. Из недочетов -- кое где остались переводы строк перед else, затесался уродливый for в main.c, кое где остались конструкции if (...) return ...;
Еще критичная ошибка -- в конце функции mergesort ты не возвращаешь значение, а значит в этом случае вернется какой-то мусор, который по счастливой случайности может оказаться равен -1 и программа отработает неправильно.
Но я проглядел эту ошибку в предыдущих итерациях, поэтому баллы не снимаю.
Итого 9.3/10, плюс доп. балл за бонус, итого 10.3/11
Насчет программ проверяющих стиль: есть классические форматтеры clang-format и astyle.
Некоторые IDE позволяют настроить автоматическое форматирование кода при сохранении файла или по запросу, например https://marketplace.visualstudio.com/items?itemName=xaver.clang-format
Можно этим пользоваться. Но лучше самому привыкать писать чистый и красивый код.
Корректность - 0/7.
Вывод не должен содержать лишних пробельных символов (у тебя содержит в конце), из-за этого не могу проверить корректность.
Стиль - 0/3
Замечания:
лучше вторую строку в условии сдвинуть на два отступа, чтобы визуально отделить её от блока с кодом. Это раз. А во-вторых если условие или блок кода занимают больше одной строки, то блок кода следует заключать в фигурные скобки. Этого требуют все приличные кодстайлы. Должно получиться вот так:
То же самое касается while, for и других подобных конструкций.
В остальных случаях я бы тоже предпочел не заводить отдельных переменных. Если ты хочешь для повышения читаемости обозначить имена аргументов, то это можно сделать с помощью комментариев. Вот пример хорошо проаннтированного вызова функции: