Size: a a a

2020 April 09

LL

Lama Lover in pro.elixir
Źmićer Rubinštejn
Давай. А потом я честно скажу, что из твоих замечаний я сам не знал, и просто не успел доделать
1) Пустой ets.ex файл
2) Application в файле agala.ex
3) mnesia.ex не закончен
4) Agala.Bot.Config:10 лучше Map.new()
5) Вообще эти unless в Agala.Bot.Config, я бы вынес в отдельный макрос, потому что глаза режет просто
6) В том же модуле, если и inspect, то с pretty: true
7) Agala.Bot.Supervisor в конфига странно мерджится, а потом ешё и в мапу
8) Переименовать chain_builder.ex в builder.ex
9) В Agala.Chain.Builder.__using__ лучше использовать unquote(__MODULE__)
10) В том же файле на 81 злодейский reduce в одну строку
11) В том же файле в init_chain странный код. Можно было бы без сигила и без Atom.to_charlist
12) В том же файле. Одинаковые функции пишутся без строки между ними
13) В том же файле error_message очень жутко строится. Я бы вынес в какой-нибудь defp make_error_message/1
14) В том же файле на 135 ++, когда можно было бы |
15) В том же файле в compile_guards/2 можно было бы просто
if(unquote(guards), do: unquote(call), else: conn)

16) Почему chain, если это просто plug с логгингом на холте
17) В папке conn один файл
18) В папке provider один файл
19) Неправильный тип Agala.Conn.t(), некоторые поля могут быть nil. Иначе нужен @enforce_keys
20) В Agala.Conn функции fetch, get, get_and_update нужно заинлайнить или defdelegate
22) В Agala.Conn.send_to функция ничего не отсылает, лучше переименовать в put_responser
23) Зачем put_private, если он private ?
24) Не уважаю однострочные пайпы в Agala.Conn
25) Для Agala.BotParams смотри пункт 20. Вынес бы в макрос
26) В Agala.Util вместо filter |> map я бы использовал for

А так, общая архитектура меня устроила, но по-моему, слишком много use. Я понимаю что сделано по аналогии с плагом, но я не сторонник такого
источник

LL

Lama Lover in pro.elixir
Ещё в Agala.Chain.Builder можно проверять chain-функцию на арность
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Agala.Chain.Builder я взял целиком из Plug.Builder переименовав Plug на Chain. Так что пункты 9-15 к Валиму)
А вот Config с его unless я взял из Ecto - эти пункты к михалу))
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Conn ты я думаю догадался уже откуда взят и к кому вопросы))
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Итого в сухом остатке - имплиментация Access протокола.
Да, сейчас я бы делал это по другому. Согласен с этим замечанием)
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Ааа, еще пустые файлы... Это можно удалить из мастера, там еще пяток файлов типа backbone и т.д. Неудачные эксперименты...
источник

LL

Lama Lover in pro.elixir
На самом деле, это всё придирки. Никаких серьёзных проблем или багов я не заметил
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Доделать бы его по хорошему, да что-то руки не доходят
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Эликсир за неделю тоже вот подвис
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Дохера всего висит и давит
источник

ŹR

Źmićer Rubinštejn in pro.elixir
А на работает Falcon framework
источник

LL

Lama Lover in pro.elixir
Źmićer Rubinštejn
А на работает Falcon framework
А чем он от того же green unicorn отличается?
источник

LL

Lama Lover in pro.elixir
Или falcon это именно фреймворк, не wsgi?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Я ибу чтоле, это легаси
источник

LL

Lama Lover in pro.elixir
Понятно
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Я всегда это знал!!!!
источник

LL

Lama Lover in pro.elixir
Źmićer Rubinštejn
Я всегда это знал!!!!
Я тоже это видел. По-моему, гораздо хуже выглядит 5+ лет опыта и MySQL, MSSQL
источник

SK

Suren Kirakosyan in pro.elixir
Źmićer Rubinštejn
Я всегда это знал!!!!
Может имели ввиду OTP? Хотя судя по паттернам не скажешь...
источник

DI

Dmitry (Deex) Ivanov in pro.elixir
Lama Lover
Я тоже это видел. По-моему, гораздо хуже выглядит 5+ лет опыта и MySQL, MSSQL
Лишь бы не оракл, с остальным можно работать
источник

f

filin49 in pro.elixir
Źmićer Rubinštejn
Я всегда это знал!!!!
Хх девочка текст составляла....
источник