pf03 / newBot

BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

Уменьшить количество тайпклассов #16

Open catdarick opened 3 years ago

catdarick commented 3 years ago

В проекте большое количество тайпклассов, а полезносность многих из них вызывает сомнения. Читаемость кода из-за этого очень сильно падает, чтобы понять как работает функция с констрейнтом MTrans - придётся сначала разобраться со всеми абстракциями и инстансами.

pf03 commented 3 years ago

Тайпклассы class (MIOCache m, MIOError m, MLog m) => MTrans m class (MError m, MonadIO m) => MIOError m не несут никакой смысловой нагрузки, они только для краткости. Остальные тайпклассы просто так убрать не получится, без изменения структуры проекта. У меня весь проект построен на тайпклассах. В папке Messenger находятся тайпклассы для работы с разными мессенджерами IAPI, IUpdate, IBot. В папке Interface монадические тайпклассы для работы с логами MLog, изменяющимся состоянием MCache, MIOCache, для обработки ошибок MError. Какие именно нужно убрать?

pf03 commented 3 years ago

Удалил MError и MIOError. Удалил из трансформера Except. Теперь ошибки обрабатываются штатными средствами Control.Exception

pf03 commented 3 years ago

Изменил синтаксис в тайпклассе IBot. Удалил тайпклассы MTrans, MIOCache, MLog, IAPI. Переделал обработку ошибок в чистом коде через Either.