
Dmitry
29.08.2018
12:03:04
И если там логика сложная и куча других модулей, которыми пользуются только внутри этого приложения.

Dmitry
29.08.2018
12:03:06
Ну тык для кого док?

Dmitry
29.08.2018
12:03:14
Их все тоже документируешь?

Dmitry
29.08.2018
12:03:14
Док же для разработчиков и есть

Google

Dmitry
29.08.2018
12:03:32
Т.е. всё равно все абсолютно документируешь?

Dmitry
29.08.2018
12:03:32
Если для third-party -то им нужен не док, а рест-апи какой-нибудь

Dmitry
29.08.2018
12:06:08
https://github.com/agalaframework/agala/blob/develop/lib/conn/conn.ex#L48-L56

Dmitry
29.08.2018
12:06:50
Ну я и говорю, коллбэки пропускаю
Но ты в Агалу не смотри
Она плоходокументированная
Но типа Access реализации, handle_call и тыды я уверен можно пропустить

Dmitry
29.08.2018
12:08:02
Т.е. ты коммерческий код лучше, чем Open Source документируешь?
Я вот знаю наоборот, что Open Source код обычно в 3-4 раза лучше задокументирован, чем коммерческий.

Dmitry
29.08.2018
12:08:34
Я тебе рассказываю как я это вижу
А не как в реальности

Dmitry
29.08.2018
12:08:57
А я спрашиваю, как в реальности оно есть.

Dmitry
29.08.2018
12:09:05
Хотя, по чесноку, проект который я делаю за деньгу лучше документирую

Google

Dmitry
29.08.2018
12:09:09
Потому что в реальности оно так не просто так.

Dmitry
29.08.2018
12:09:11
еще и тестирую

Артем
29.08.2018
12:09:24

Dmitry
29.08.2018
12:09:48
В Агале то нет код-ревью
А на работе - есть

Dmitry
29.08.2018
12:10:05

Артем
29.08.2018
12:10:58
если честно я не понимаю как требования к коммерческому коду могут быть ниже. на опен сорс ты можешь забить, а работу тебе самому разгребать так и так
баги фиксить, возвращаться к коду и развивать

Dmitry
29.08.2018
12:11:09
Это ж опен-соурс
mit лицуха as-is
и вперед

Артем
29.08.2018
12:13:57
тут была команда андройдов до меня, они принялись петь эту песню дескать что документировать и так всё очевидно. мне такой подход ваще непонятен. я скорее за формализм - написал от 10 строк - должны быть комментарии. добавил методы - должны быть doc. добавил модуль - внятный moduldoc.
а подход про очевидность плавно приводит к нулевой документации

Dmitry
29.08.2018
12:16:06
Т.е. Вы документируете как в Elixir-е все коммерческие проекты?
*Как сам Elixir
Все внутренние функции обстоятельно так

Артем
29.08.2018
12:16:57
нет
end
defp get_deps(all_deps, apps) do
Enum.filter(all_deps, &(&1.app in apps))
end
defp get_children(_all_deps, _seen, []), do: []
defp get_children(all_deps, seen, apps) do
children_apps =
for %{deps: children} <- get_deps(all_deps, apps),
%{app: app} <- children,
app not in seen,
do: app
apps ++ get_children(all_deps, populate_seen(seen, children_apps), children_apps)
end
defp populate_seen(seen, apps) do
Enum.reduce(apps, seen, &MapSet.put(&2, &1))
end

Google

Артем
29.08.2018
12:17:13
вот эти я бы тоже заставил описать
пускай даже это будет даже тупо и формально

Dmitry
29.08.2018
12:17:50
Контексты и сервисы - по строчке где-то плюс спека
Контроллеры - без @doc

Dmitry
29.08.2018
12:18:04
нет
Т.е. у вас жёсткие требования к формальщине.

Артем
29.08.2018
12:18:35

Dmitry
29.08.2018
12:19:07
У Дмитрия разумные требования, там где нужно и полезно. Схожее с моим представлением доков.
Интересно, ещё у кого как.

Артем
29.08.2018
12:20:36
вот например из моего куска не совсем понятно что делает метод populate_seen и зачем он нужен. я не хочу сталкиваться с таким в своих проектах, смотреть контекст и делать (не)верные выводы

Dmitry
29.08.2018
12:25:37


Анастасия
29.08.2018
13:00:15
привет, кто-нибудь пробовал запускать приложение из post_start хука релиза? все гайды в инете есть только для случая когда само приложение не нужно, или просто запуск приложения из таска
сама задача - запустить сиды, которые используют процессы приложения, без запуска приложения не работает

Admin
ERROR: S client not available

Артем
29.08.2018
13:05:17

Dmitry
29.08.2018
14:42:36

Анастасия
29.08.2018
14:45:23

Dmitry
29.08.2018
14:46:25
Мои сиды определяют, нужно им запускаться или нет. Соответственно, если сиды на половине процесса оборвались и приложение некондиционно завершилось, они продолжат работу или перезапишут при перезапуске, а если все прошло успешно, то не будут делать ничего.

Google

Dmitry
29.08.2018
14:49:10
Я к такому дизайну пришёл в конечном итоге.
И оно всегда само знает, что нужно делать, не зависимо от того как запускать. А запускается всегда через старт. Это больше engineering-а, но меньше головной боли потом, когда приложение всегда запускается простым старт.

Alexey
29.08.2018
14:51:42
^^^ он пытался. ввел 39, на не прошел
знакомые аватарки у него. давайте впустим, а?

Анастасия
29.08.2018
14:52:52

Dmitry
29.08.2018
15:13:09
3 попытки же
Как можно не пройти?
Вот ща как раз проверим
Тут явно все 3 попытки будут использованы
Если они работают)

Aleksandr
29.08.2018
15:18:30
Вообще в post_start приложение уже должно быть запущено, вроде

Анастасия
29.08.2018
15:34:02
вот почему-то не запущено, не находит процесс по pid, пробовала Application.ensure_all_started(app) - повторно запускает и падает что порт уже занят, еще пробовала Mix.run "app.start" - падает что не поднят миксовский процесс Mix.ProjectStack

Buckler
30.08.2018
07:42:25
Привет, Oksana!
Пожалуйста, реши капчу:
Вычисли: 22+68=...
Осталось попыток: 2
Если не решишь - забаню навеки...
Удачи!

Dmitry
30.08.2018
07:45:40
Воооот
Работают попыточки!!! Я знал

Nikita
30.08.2018
08:01:42
пффф, таких нужно забривать сразу кто не решает с первого раза

Артем
30.08.2018
08:02:20

Buckler
30.08.2018
11:34:44
Привет, Aundrea!
Пожалуйста, реши капчу:
Вычисли: 57+85=...
Осталось попыток: 3
Если не решишь - забаню навеки...
Удачи!