lucasvegi

lucasvegi

Hi guys!

My Ph.D. advisor and I are researching code smells in Elixir systems. This work resulted in the Catalog of Elixir-specific code smells, which has already become quite popular among GitHub users. (https://github.com/lucasvegi/Elixir-Code-Smells).

Now we need your help to identify what are the smells that appear most frequently and have the most negative impact on the maintenance of Elixir systems.

If you are interested in the quality of your code, could you please help us by answering this survey on code smells? (it should take 15-25 min) https://lucasvegi.github.io/Elixir-Code-Smells/

Thank you!

banner-tweet

Showing Posts 14 to 5

lucasvegi

lucasvegi OP

Hello guys!
I would like to thank the great number of Elixir developers who have already participated in our survey. We will collect responses until October 5th at 12:00 PM (UTC-3) for those who have not yet participated and are interested. Enjoy this opportunity! :slightly_smiling_face:

OvermindDL1

OvermindDL1

The term also quite well relates to the problem it is describing about “crude or poor code”. It is designed to illicit that reaction by its connotations.

lucasvegi

lucasvegi OP

Exactly that Roger!

The term code (bad) smells were coined and popularized by Fowler and Beck in 1999 in their well-known book on Refactoring. In addition to coining the terms in this book, they also cataloged 22 traditional code smells. Some of them are part of our survey, as they are also discussed in the context of Elixir. There are other synonyms in the literature to refer to these sub-optimal code structures, such as anti-patterns, code anomalies, and bad practices.

I know some people think the terms code (bad) smells are pejorative. There was a recent discussion on Hacker News about our work and I saw some people complaining about this term as well. We chose to use the term code smells because it is by far the most used term in the literature to describe these sub-optimal structures. This is even a very researched topic in software engineering.

rogerweb

rogerweb

I don’t have a problem with this term, but English is not my first language. Anyway, quoting Wikipedia on the origins of it:

The term was popularised by Kent Beck on WardsWiki in the late 1990s. Usage of the term increased after it was featured in the 1999 book Refactoring: Improving the Design of Existing Code by Martin Fowler.

JeyHey

JeyHey

Off topic but still. The term „code smell“ always struck me as crude. Aren‘t there better terms for this ? Or is it just me who has a problem with this word ?

lucasvegi

lucasvegi OP

Unfortunately, this is a limitation of the tool we chose to use in our research. While we know this may be an issue for some interested in participating, we believe it will not have a significant impact on our research.

Anyway, I’m open to receive messages from everyone who wants to participate and for some problem they’re not able to :slight_smile:

lud

lud

It’s tied to a google account. What if someone does not have a google account, or does not want the data to be tied with their account …

I’m taking the survey anyway :slight_smile:

zpeters

zpeters

I took the survey. I think i just learned a lot about different code smells that i wasn’t really familiar with. Very eye opening to me

lucasvegi

lucasvegi OP

Hi Adam, you gave a great suggestion!

A member of the Elixir community (@adolfont) has already made a short video presenting the content of the survey. You can watch it at this link: https://youtu.be/xgvE4GJEFyw (from 2min40 onwards the content of the form starts to be shown)

I know it may seem strange to provide some personal data like name or email, but when we do scientific research involving people, we have to follow some rules of the university ethics committee. This data is used for academic purposes only and will not be made public, as explained in our consent terms. :slight_smile:

If you have any other questions, feel free to ask me, ok?

adamu

adamu

I think you may get more responses if it’s possible to preview the questions before submitting an email address and agreeing to the terms.

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 94592 917
New
cblavier
Hey there, It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
heathen
Quite interesting article Google brought me. Didn’t find any mentions about it here. What do you think in general? Would you use togethe...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
axelson
Hi there! :wave: @frigidcode and I (but mostly him) have been running an Elixir Book club, we’re almost done with Designing Elixir Syste...
New
budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
georgeguimaraes
Just published claude-code-elixir, a plugin marketplace for Claude Code with Elixir support. These are the plugins I’ve been using for my...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews