Opened 4 years ago

Closed 4 years ago

#802 closed ожидаются исправления (задача сдана)

WW_exceptions

Reported by: stotskiy.nikita Owned by: Артур Гулецкий (huletski)
Component: WW_exceptions Version: 1.0
Keywords: Cc:

Description


Change History (2)

comment:1 Changed 4 years ago by Артур Гулецкий (huletski)

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

Замечания:

общие

  • программа падает при попытке перемножить огромные матрицы (~10e8 элементов в результате);
  • базовые гарантии кое-где нарушены (см. ниже);

matrix.h:

  • все ли обилие include-ов необходимо для описания класса? как минимум vector лишний;
  • у части методов const не проставлен (e.g. op+);
  • print/load лучше бы заменить на перегрузки операторов << и >>;
  • load мог бы принимать std::istream (какая разница из какого потока читать классу общего назначения?)

main.cpp

  • 13: неясно зачем неоткрытый поток передавать;
  • дублируется код перевода символа в номер регистра.

matrix.cpp

  • дублирование кода выделения памяти для матрицы -> дублирование недочетов;
  • 18, 48: стиль отступов, в какой момент удалится _data в случае исключения? подозрительно, что данные удаляются для i-oй строки, при выделении памяти для которой было брошено исключение; кажется, что for версия цикла избавила бы от необходимости удаления 0-ой строке вне цикла;
  • 32: списки инициализации;
  • 67: вам не кажется, что Matrix::op== будет, вероятно, работать дольше, чем три свопа? для чего эта строка вообще?
  • 95: неясно почему тело этого цикла не в фигурных скобках;
  • Matrix::load. Лучше считывать и валидировать файл за один проход;
  • 143-145: красивая пирамидка, но лучше попытаться сделать код более плоским.

Баллы: 3.5

comment:2 Changed 4 years ago by Артур Гулецкий (huletski)

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

Дедлайн.

Note: See TracTickets for help on using tickets.