Elixir Mix is a weekly show focused on the Elixir programming community. Our panel discusses topics around functional programming, the Elixir ecosystem, and building real world apps with Elixir based tools and frameworks.

Episode 64: EMx 064: Refactoring Elixir with Hubert Lepicki

August 13, 2019 1:01:38 62.94 MB Downloads: 0

Sponsors

  • Sentry– use the code “devchat” for two months free on Sentry’s small plan

  • CacheFly

Panel

  • Mark Ericksen

  • Josh Adams

Joined by Special Guests: Hubert Łępicki

Summary

Hubert Łępicki joins the panel to discuss his blog post, “Refactoring Phoenix controllers”; he starts by sharing what made him decide to write this article. In the blog post, he outlines strategies and patterns to better organize your code. The first strategy discussed, which was not mentioned in the blog post is: Breaking down one controller into multiple controllers. Intrigued, the panel asks Hubert to explain exactly what he means by this. The second pattern is: extracting logic from a controller and using it in a plug instead. The panel discusses what the right code to put in a plug. 

 

The third pattern Hubert explains is: using business logic and workflow modules. The panel asks Hubert about his dislike for phoenix context. Hubert and the panel give better alternatives to phoenix controller and explains how they use modules. Having a Ruby background, Hubert explains the difference of using context and modules in Elixir compared to Ruby. Hubert shares how he uses the fourth pattern: Ecto using embedded schema. The episode ends with a little about Hubert's company and what they do. 

Links

Picks

Mark Ericksen:

Josh Adams:

Hubert Łępicki: