EMx 064: Refactoring Elixir with Hubert Lepicki

00:00 1:01:39
Download MP3

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:

Sign up for the Newsletter

Join our newsletter and get updates in your inbox. We won’t spam you and we respect your privacy.