Elaine Watanabe

Rails Girls SP mentor. Elixir Lab co-founder. Senior Software Engineer at The Realreal

Elaine has been a Software Developer since 2008. She has a M.Sc. in Computer Science, and a B.Sc. in Computer Engineering, and is fascinated by Elixir and Ruby languages, software engineering, technical leadership, and scientific research in distributed systems.

Since 2017, she has presented +15 talks at multiple tech conferences for audiences of different levels (beginner, intermediate and advanced) about Ruby and Elixir languages, introduction to programming, code design, and code review practices. She is also a Rails Girls São Paulo mentor, coffee lover, and former taiko drummer.

Exploring code smells in Elixir

Code smells are indicators of potential design problems in software code. They can impact maintainability, readability, and overall code quality.

While code smells have been extensively studied in object-oriented programming languages, their applicability and identification in functional programming languages like Elixir remain a fascinating area of exploration.

In this talk, we will dive into the world of Elixir and uncover code smells that may arise in its codebase. We will explore the traditional code smells (including the newly cataloged Elixir-specific code smells), discuss their impact on Elixir applications, and provide practical insights into refactoring techniques to eliminate them.

Key Takeaways:

  • Understanding code smells and why they can impact overall code quality.
  • Learning how to identify them in Elixir, and how to apply refactoring techniques to reduce the code smell impact on a codebase.
  • Introduction to the “Catalog of Elixir-specific code smells”, maintained by Lucas Vegi and Marco Tulio Valente.
  • Discussion about code quality, maintainability, and legacy code in Elixir.

Target Audience:

  • This presentation is designed to engage a diverse audience, including Elixir developers, enthusiasts of functional programming, software engineers, technical leads, architects, and developers in the process of transitioning to Elixir. It is specifically tailored for individuals who are enthusiastic about enhancing code quality, ensuring maintainability, and deepening their comprehension of code smells in Elixir.