Opened 4 years ago

Closed 4 years ago

#1062 closed ожидается проверка (задача сдана)

WW #18

Reported by: Filippov Denis Owned by: Egor Suvorov
Component: WW_format Version: 1.0
Keywords: Cc:

Description


Change History (1)

comment:1 Changed 4 years ago by Egor Suvorov

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

Корректность 4/7:

  • Неаккуратная оценка на размер bool. Там никогда шесть символов не бывает.
  • Нет гарантии, что все числовые типы поместятся. 30 — число с потолка.
  • to_chars вроде как не гарантирует, что не будет трогать буфер после записи числа. Там может быть и не ноль, а фигня какая-то. В общем, тут вы зря документацию не прочитали детально.

Стиль 1.5/3:

  • В FormatHelper можно проще: typename = void, не void*. И убрать звёздочку везде в остальных местах. Она на лекциях возникала только когда мы хотели писать void* = nullptr.
  • ISVALID --> IS_VALID.
  • FormatHelper<vector<T>>:
    • Испольуйте range-based-for вместо итераторов. Это прям FATALITY.
    • В частности, в append_to тоже можно так сделать. И это + флаг first будет понятнее, чем итераторы.
  • Не стоит использовать вычисления в вещественных числах. Возьмите numeric_limits<T>::digits10.
  • Не проверяется, что to_chars успешно завершился
  • Не надо писать buf[30] = {0} — это может создать ложное впечатление, что ноль тут как-то влияет на значения остальных элементов. Надо buf[30] = {}. А ещё лучше тут вообще не инициализировать массив, а пользоваться возвращаемым значением to_chars, иначе нет гарантии, что в массиве правильное значение.
  • Нет названия у константы 50
Note: See TracTickets for help on using tickets.