Size: a a a

2020 November 09

DR

Dmitry Russ (Aleksan... in pro.elixir
V
То что мы обсуждаем - это старейшая задача об организации общественных отношений - смогут ли люди самоорганизоваться или им нужен внешний регулятор.
Практика показывает, что
- если в обществе много мудаков или дураков - регулятор нужен обязательно (причём много - относительное понятие, реально вредителей может быть достаточно полпроцента от общего количества)
- если в обществе мудаков или дураков мало или нет - регулятор оказывает помощь как консультант.
- организация без регулятора слабо устойчива перед разного рода деградациями.
Такой диктат не нужен - если не нравится пакет - ты всегда можешь его не использовать. Иметь какие-то глобальные подобные проверки - не имеет какого-то смысла.
источник

V

V in pro.elixir
Dmitry Russ (Aleksandrov)
Это не задача hexpm. С учётом, что она решается через инструмент, как credo - не нужно создавать лишние сущности.
Третий раз повторять "а чья тогда это задача?" и "credo эту задачу не решает" наверное не буду
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
V
Третий раз повторять "а чья тогда это задача?" и "credo эту задачу не решает" наверное не буду
Credo - эту задачу решает как раз. решить на уровне пакета - я выше показывал как. Решать глобально - не имеет смысла, ни по вопросу, ни потому что это решается на уровне одного пакета. Повторяюсь тоже.

Видимо просто радикально разные точки зрения.
источник

LL

Lama Lover in pro.elixir
V
Третий раз повторять "а чья тогда это задача?" и "credo эту задачу не решает" наверное не буду
Никто не решит эту задачу, успокойся
Она физически не решается, АУ
источник

V

V in pro.elixir
Dmitry Russ (Aleksandrov)
Такой диктат не нужен - если не нравится пакет - ты всегда можешь его не использовать. Иметь какие-то глобальные подобные проверки - не имеет какого-то смысла.
> если не нравится пакет - ты всегда можешь его не использовать

а можно как-то погибче, например "не нравится способ использования инструмента - можешь использовать его по-другому, есть вот способы Б, Ц,, Д"?
Ведь вся философия построения ПО последних обозримых лет - она именно про это - import foo from Foo as MyFoo. В этом as как и в dependency inversion и заключён смысл - либа знает только про себя, описывает что ей нужно из окружения и предоставляет окружению реализовать себя как ему нравится, лишь бы был удовлетворён контракт. Это даёт гибкость и портируемость.
Нет, мне не нравится точка зрения "Либо юзай либу как она есть, либо не юзай совсем".
источник

V

V in pro.elixir
Lama Lover
Никто не решит эту задачу, успокойся
Она физически не решается, АУ
Откуда ты знаешь, решается она физически или нет? Пробовал что ли?
источник

LL

Lama Lover in pro.elixir
V
Откуда ты знаешь, решается она физически или нет? Пробовал что ли?
Я же тебе описывал что это проблема остановки
источник

V

V in pro.elixir
Тут уже было озвучено, что технический аспект этой проблемы - не на первом месте. На первом месте вообще обозначить правило, например "в hexpm все модули либы должны лежать внутри основного неймспейса либы". До каждого это донести. Дальше достаточно статического анализа.
источник

LL

Lama Lover in pro.elixir
V
Тут уже было озвучено, что технический аспект этой проблемы - не на первом месте. На первом месте вообще обозначить правило, например "в hexpm все модули либы должны лежать внутри основного неймспейса либы". До каждого это донести. Дальше достаточно статического анализа.
Статического анализа недостаточно
Опять же, ты либо даёшь гарантии что модули не будут пересекаться, либо не даёшь. Конец
источник

V

V in pro.elixir
V
в хекспм или в коде приложения?
Вот на это можешь ответить? Где именно переименовал lens в lenss?
источник

LL

Lama Lover in pro.elixir
V
Вот на это можешь ответить? Где именно переименовал lens в lenss?
Что?
источник

LL

Lama Lover in pro.elixir
Я могу переименовать модуль только в одном месте: там где он создаётся

В моём случае это deps/lens/lib/lens.ex
источник

V

V in pro.elixir
Lens - это же твоя либа?
источник

LL

Lama Lover in pro.elixir
V
Lens - это же твоя либа?
Нет, не моя
источник

V

V in pro.elixir
А как ты поправил что-то в deps? Эта же папка под игнором и наполняется миксом
источник

LL

Lama Lover in pro.elixir
V
А как ты поправил что-то в deps? Эта же папка под игнором и наполняется миксом
Открыл файлы и поправил. Потом mix deps.compile lens
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
Всегда можно сделать patch, sed - как этап после гет депс и до компиляции.
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
Lama Lover
Статического анализа недостаточно
Опять же, ты либо даёшь гарантии что модули не будут пересекаться, либо не даёшь. Конец
+
источник

V

V in pro.elixir
Lama Lover
Открыл файлы и поправил. Потом mix deps.compile lens
А если я возьму твой проект и сделаю mix deps.get - у меня твои изменения в deps/lens/lib/lens.ex будут присутствовать?
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
V
А если я возьму твой проект и сделаю mix deps.get - у меня твои изменения в deps/lens/lib/lens.ex будут присутствовать?
Добавишь make. Сделаешь make deps - и всё будет.
источник