Closed KateBushueva closed 3 years ago
Такой формат импорта
import Logic.Bot as Bot
не совсем хорош в данном случае (это больше для реэкспорта), лучше использовать явно
import qualified Logic.Bot as Bot
Переделал. Функции со своих модулей в основном импортировал квалифицированно, а типы списком. Хотя я бы не сказал что это лучше для понимания.
Думаю, тут дело привычки и кодстайла. На больших проектах квалифцированные импорты упрощают жизнь
Когда у тебя 400+ строк в файле, то... ну в общем прими это как условие команды)
Когда у тебя 400+ строк в файле, то... ну в общем прими это как условие команды)
После декомпозиции такого не будет. Скорей наоборот в некоторых будет по 10 строк)
по поводу импортов - ты можешь использовать разные варианты: например, импортировать классы в скобках, а функции квалифицированно, или все импортировать квалифицированно... В любом случае надо быть последовательным - если ты используешь какой-то способ импортирования, необходимо использовать его везде, а не в каждом модуле по-разному.
Списком импортирую: 1) Импорты внутри одного разделенного модуля, например import Interface.MLog.Types в Interface.MLog.Functions 2) Классы импортирую списком через промежуточный модуль Interface.Class. По классам и так все понятно, имя класса совпадает с именем модуля почти всегда 3) Импорт общих модулей из папки Common В других случаях свои модули импортирую квалифицировано.
не надо вот так делать
либо import qualified Transformer.Internal as Internal
,
либо import Transformer.Internal ( configToState, configToStates )
не надо вот так делать
либо
import qualified Transformer.Internal as Internal
, либоimport Transformer.Internal ( configToState, configToStates )
это исправил. Везде, где конфликты имен сделал квалифицированный импорт
ага и форматтером здесь же нужно) а так норм)
это просто нужно за привычку принять, а то забывается
Привет, Роман!
В первую очередь классика - для удобства понимания, откуда что берется, все импорты должны быть либо квалифицированными, либо явно в скобках перечислять список импортируемых сущностей