Elixir is a functional programming language whose popularity is rising in the industry link. However, there are few works in the scientific literature focused on studying the internal quality of systems implemented in this language. In order to better understand the types of sub-optimal code structures that can harm the internal quality of Elixir systems, we scoured websites, blogs, forums, and videos (grey literature review), looking for specific code smells for Elixir that are discussed by its developers. As a result of this investigation, we have initially proposed a catalog of 18 new smells that are specific to Elixir systems. After that, 1 new smell emerged from a study with mining software repositories (MSR) performed by us, and other smells are being suggested by the community, so this catalog is constantly being updated (currently 23 smells).23 Elixir-specific code smells documented.
Features
- 23 Elixir-specific code smells documented
- Divided into design vs. low-level concerns
- Includes examples of smelly code and their fixes
- Provides refactoring guidelines for improvement
- Backed by literature review and repository mining
- Usable in Livebook (code_smells.livemd) for interactive learning