Cauterization / EchoBot

Other
0 stars 0 forks source link

Разное #3

Closed Presto-Con-Fuoco closed 2 years ago

Presto-Con-Fuoco commented 2 years ago
  1. https://github.com/Cauterization/EchoBot/blob/67874ecbbed1b9d47ab20c80c5aeee5d70206981/src/Vkontakte/FrontEnd.hs#L71-L79 Группа захардкодена, нужно вынести в конфиг
  2. https://github.com/Cauterization/EchoBot/blob/67874ecbbed1b9d47ab20c80c5aeee5d70206981/src/Extended/HTTP.hs#L30-L38 Во-первых, OverlappableInstances это deprecated расширение, его не надо использовать везде, где возможно не использовать. Здесь не должно быть особых сложностей обойтись без оверлаппинга - через default метод класса, например, либо через DerivingVia. Во-вторых, нужен ли такой класс, у которого на весь проект всего один возможный инстанс? Можно же просто как функцию оформить. То же самое касается модуля Bot/IO.hs
  3. https://github.com/Cauterization/EchoBot/blob/67874ecbbed1b9d47ab20c80c5aeee5d70206981/src/Bot/Bot.hs#L27-L51 Вроде как мы пытаемся тут абстрагироваться от деталей реализации, но внезапно в качестве основного носителя данных выступает сгенерированный заранее url, да ещё и в виде простого текста. А в случае с консольным ботом это вообще оказывается враньем, ведь url там никакого нет, но переменная тем не менее называется url)) В общем выглядит не очень элегантно, нет ли способа это пофиксить?
  4. hlint выдает пару советов про unused pragma, убери их.