pf03 / newBot

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

Импорты #1

Closed KateBushueva closed 3 years ago

KateBushueva commented 3 years ago

Привет, Роман!

В первую очередь классика - для удобства понимания, откуда что берется, все импорты должны быть либо квалифицированными, либо явно в скобках перечислять список импортируемых сущностей

KateBushueva commented 3 years ago

Такой формат импорта import Logic.Bot as Bot не совсем хорош в данном случае (это больше для реэкспорта), лучше использовать явно import qualified Logic.Bot as Bot

pf03 commented 3 years ago

Переделал. Функции со своих модулей в основном импортировал квалифицированно, а типы списком. Хотя я бы не сказал что это лучше для понимания.

KateBushueva commented 3 years ago

Думаю, тут дело привычки и кодстайла. На больших проектах квалифцированные импорты упрощают жизнь

Sergey111991KV commented 3 years ago

Когда у тебя 400+ строк в файле, то... ну в общем прими это как условие команды)

pf03 commented 3 years ago

Когда у тебя 400+ строк в файле, то... ну в общем прими это как условие команды)

После декомпозиции такого не будет. Скорей наоборот в некоторых будет по 10 строк)

KateBushueva commented 3 years ago

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

pf03 commented 3 years ago

Списком импортирую: 1) Импорты внутри одного разделенного модуля, например import Interface.MLog.Types в Interface.MLog.Functions 2) Классы импортирую списком через промежуточный модуль Interface.Class. По классам и так все понятно, имя класса совпадает с именем модуля почти всегда 3) Импорт общих модулей из папки Common В других случаях свои модули импортирую квалифицировано.

KateBushueva commented 3 years ago

не надо вот так делать

https://github.com/pf03/newBot/blob/7ba8545adbe74e4705cc72f91994aedeeb848d17/src/Transformer/Functions.hs#L9

либо import qualified Transformer.Internal as Internal , либо import Transformer.Internal ( configToState, configToStates )

pf03 commented 3 years ago

не надо вот так делать

https://github.com/pf03/newBot/blob/7ba8545adbe74e4705cc72f91994aedeeb848d17/src/Transformer/Functions.hs#L9

либо import qualified Transformer.Internal as Internal , либо import Transformer.Internal ( configToState, configToStates )

это исправил. Везде, где конфликты имен сделал квалифицированный импорт

Sergey111991KV commented 3 years ago

ага и форматтером здесь же нужно) а так норм)

Sergey111991KV commented 3 years ago

это просто нужно за привычку принять, а то забывается