ну вот мне сейчас проще (точнее, понятнее) делать по умолчанию приватно, в закрытом проекте. так я лучше понимаю зависимости между неймспейсами, также это помогает видеть кривизну в зависимостях, которую требуется исправить
впрочем, делать я это начал благодаря линтеру а потом и мне самому понравилось
Мне как-то проще и приятнее, когда приватность это «джентельменское соглашение», чтоб в любой момент можно было полезть под капот либы и перехачить ее как хочешь.
Особенно это заметно на либах метосина, когда закопался в их код, и вроде понял как бы так извернуть их реализацию под себя, а потом натыкаешься на какой-то приватный билдер
Мне как-то проще и приятнее, когда приватность это «джентельменское соглашение», чтоб в любой момент можно было полезть под капот либы и перехачить ее как хочешь.
ну если не пугает, что при обновлении либы всё сломается, то ради бога 😊
def - для всего глобального. let - для всего локального.
или по-другому: всегда используй let, а если оказывается потом, что нужен доступ "снаружи", то перекидывай в def (конечно же с соблюдением определённых правил). Ну это, опять же, во всех языках ведь так.
из такого описания можно вытащить вот такое: (let [x 1] (def y x)) в нэймспейсе
Особенно это заметно на либах метосина, когда закопался в их код, и вроде понял как бы так извернуть их реализацию под себя, а потом натыкаешься на какой-то приватный билдер
Особенно это заметно на либах метосина, когда закопался в их код, и вроде понял как бы так извернуть их реализацию под себя, а потом натыкаешься на какой-то приватный билдер
я это к тому что не стоит описывать разницу между let и def через "как и кому это будет доступно" это две соверщенно разные конструкции для абсолютно разных вещей let - для формирования локального лексического скоупа def - для формирования интерфейса нэймспейса
я это к тому что не стоит описывать разницу между let и def через "как и кому это будет доступно" это две соверщенно разные конструкции для абсолютно разных вещей let - для формирования локального лексического скоупа def - для формирования интерфейса нэймспейса