Спасибо за доклад, очень полезно! Примерно треть ошибок, перечисленных в докладе, регулярно совершаю сам. На мой взгляд, очень многие начинающие elixir-разработчики в РФ сталкиваются с проблемой нехватки менторства. Я писал на C/Python/SQL, потом перешел на Elixir, и пишу уже второй год только на нем в собственных проектах. За время моей работы решал самые разные задачи. Иногда доходило даже до написания NIF на C/Rust для решения различных нетривиальных задач (например, обработки изображений). Да, читаю всякие статьи, литературу (реже), но тем не менее - при опыте в программировании в 4 года (2 из которых очень активно пишу на Elixir) - уровень чистоты кода не высок от слова "совсем". Фидбек объемом в 100 слов с тестового задания, которое делал для вашей компании, позволил очень сильно переосмыслить многие моменты организации кода, тестов, да и вообще очень сильно "прокачал" меня как программиста - через пару недель работы над кодом стал замечать, что писать проще, код выходит чище, элегантнее и вообще стал более читабельным. Возможно, даже пары месяцев на позиции Junior-разработчика Elixir хватило бы, чтобы сделать из меня уверенного мидла - но, увы и ах! - в РФ почти нереально устроиться удаленно на подобную должность. В общем, подобные доклады - как ведро холодной воды, которые заставляют остановиться и подумать, чем я вообще занимаюсь, и как я пишу код.
Не понимаю в чем проблема отматчить nil, совсем не важно какой другой тип может вернуть функция value |> do_some() # can return int or nil |> plus_one() def plus_one(nil), do: 1 def plus_one(int), do: int+1
В том что тебе нужно везде матчить нил и писать КО ВСЕМУ лишние function clauses. Вопрос: зачем? + в еликсире возвращать {:error, :reason} - это конвенция, которой следую как встроенные так и сторонние либы с hex.pm
Спасибо за доклад, очень полезно!
Примерно треть ошибок, перечисленных в докладе, регулярно совершаю сам.
На мой взгляд, очень многие начинающие elixir-разработчики в РФ сталкиваются с проблемой нехватки менторства.
Я писал на C/Python/SQL, потом перешел на Elixir, и пишу уже второй год только на нем в собственных проектах. За время моей работы решал самые разные задачи. Иногда доходило даже до написания NIF на C/Rust для решения различных нетривиальных задач (например, обработки изображений).
Да, читаю всякие статьи, литературу (реже), но тем не менее - при опыте в программировании в 4 года (2 из которых очень активно пишу на Elixir) - уровень чистоты кода не высок от слова "совсем".
Фидбек объемом в 100 слов с тестового задания, которое делал для вашей компании, позволил очень сильно переосмыслить многие моменты организации кода, тестов, да и вообще очень сильно "прокачал" меня как программиста - через пару недель работы над кодом стал замечать, что писать проще, код выходит чище, элегантнее и вообще стал более читабельным.
Возможно, даже пары месяцев на позиции Junior-разработчика Elixir хватило бы, чтобы сделать из меня уверенного мидла - но, увы и ах! - в РФ почти нереально устроиться удаленно на подобную должность.
В общем, подобные доклады - как ведро холодной воды, которые заставляют остановиться и подумать, чем я вообще занимаюсь, и как я пишу код.
Привет! Что-то изменилось за прошедшие 2 года? Пишешь на Elixir в продакшн?
@@Alexey-gp7vc, привет! Да, вовсю)
Уже синьор)
@@ИванКривцов реально круто, мои поздравления🤘
Не понимаю в чем проблема отматчить nil, совсем не важно какой другой тип может вернуть функция
value
|> do_some() # can return int or nil
|> plus_one()
def plus_one(nil), do: 1
def plus_one(int), do: int+1
В том что тебе нужно везде матчить нил и писать КО ВСЕМУ лишние function clauses. Вопрос: зачем? + в еликсире возвращать {:error, :reason} - это конвенция, которой следую как встроенные так и сторонние либы с hex.pm
Что такое happy path?
видео полезное но слишком басит