Opened 4 years ago
Closed 4 years ago
#690 closed ожидается проверка (задача сдана)
WW #11
Reported by: | Никита Усольцев | Owned by: | Артур Гулецкий (huletski) |
---|---|---|---|
Component: | WW cpp_io | Version: | |
Keywords: | Cc: |
Description
Change History (4)
comment:1 Changed 4 years ago by
Component: | WW_c_io → WW cpp_io |
---|
comment:2 Changed 4 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
comment:3 Changed 4 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|
comment:4 Changed 4 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Решение не собирается -> -1
{lab_11}[2001]$ pwd && svn up && svn status /home/hfx/dvl/cpp19/usoltsev.nikita/lab_11 Updating '.': At revision 2788. {lab_11}[2002]$ make mkdir -p bin g++ -O2 -Wall -Werror -Wextra -fsanitize=address -std=c++11 -g -Iinclude -c -MMD -o bin/bin_manip.o src/bin_manip.cpp g++ -O2 -Wall -Werror -Wextra -fsanitize=address -std=c++11 -g -Iinclude -c -MMD -o bin/main.o src/main.cpp g++ -O2 -Wall -Werror -Wextra -fsanitize=address -std=c++11 -g -Iinclude -c -MMD -o bin/employees.o src/employees.cpp src/employees.cpp: In function ‘void make_new_empl(Employee*&, int)’: src/employees.cpp:167:9: error: ‘assert’ was not declared in this scope 167 | assert(!"Unknown command\n"); | ^~~~~~ src/employees.cpp:6:1: note: ‘assert’ is defined in header ‘<cassert>’; did you forget to ‘#include <cassert>’? 5 | #include "bin_manip.h" +++ |+#include <cassert> 6 | Makefile:17: recipe for target 'bin/employees.o' failed make: *** [bin/employees.o] Error 1
Если починить сборку и отключить санитайзер, при запуске на примере из условия valgrind находит ошибки, некоторые другие тесты падают -> -2.5.
По коду:
- main.cpp:12. можно было бы указатель на Employee возвращать из функции;
- bin_manip.cpp:12. лучше устанавливать бит, перезаписывая текущее состояние с устaновленным failbit, чтобы не сбросить случайно другие флаги;
- bin_manip.cpp:61. если файл записан в неверном формате и строка не заканчивается нуль-терминатором, цикл не завершится ->
while (byte && is)
; - bin_manip.cpp:78. ostream::write + string::c_str было бы лаконичнее;
- employees.cpp:55. инициализацию и присваивание лучше заменить конструктором копирования
new Developer(*this)
.
+ часть замечаний из предыдущего комментария.
За мелкие замечания совокупно -0.75
Баллы: 5.75.
Note: See
TracTickets for help on using
tickets.
Не работает пример из условия:
Обратите внимание, что вместо placeholder'a "<Должность сотрудника N>" нужно печатать актуальную должность в зависимости от типа сотрудника как в примере.
Некоторые замечания по коду:
EmployeeArray
. Странно, что метод принимает не константный указатель, обычный;Обратите внимание, что аналогичные по смыслу замечания в других местах программы я не писал.
Баллы: 2 (не работает пример из условия), доделывайте.