Директор службы разработки Илья Аверьянов рассказывает о том, какой код не стоит писать на Elixir. Доклад полезен Elixir-разработчикам уровня Junior и Middle. Презентация github.com/fun...
Спасибо за доклад, очень полезно! Примерно треть ошибок, перечисленных в докладе, регулярно совершаю сам. На мой взгляд, очень многие начинающие 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