lucasvegi

lucasvegi

Survey on Refactorings for Elixir

Hello everyone, how are you?

I believe many of you may know me from the research I conducted on code smells/anti-patterns for Elixir, which was partially incorporated into the official Elixir documentation.

Currently, my Ph.D. advisor and I are investigating refactoring strategies for Elixir and cataloging them. For this reason, we need your help to identify which refactorings are most frequently performed in your Elixir systems and which ones bring positive impacts on maintainability, comprehensibility, and evolution of your Elixir code.

If you are interested in the quality of your code, could you please help us by answering this survey on refactorings? (it should take 20 minutes)(https://lucasvegi.github.io/Elixir-Refactorings/)

Thank you!

banner-tweet

Note: The complete catalog consists of 82 different refactoring strategies. However, each participant will be asked to respond to only a small portion of it, randomly selected. If you are interested in exploring all the refactorings, access the complete catalog.

Most Liked

lucasvegi

lucasvegi

Thanks, @josevalim! I really do appreciate you having pinned the post!

DaAnalyst

DaAnalyst

Done.

Btw. re [Struct field access elimination] see:

https://github.com/DaTrader/extructure

lucasvegi

lucasvegi

Hello, I understand your question. In fact, the relevance of a refactoring may depend on the application scenario, as you said.

I recommend that answers are always based on the worst case that the developer has experienced or is aware of someone having experienced. In this specific refactoring, as you said, it could be an infinite recursion, memory leak, etc.

In short, think something like this: “In general, can this bring me more advantages or not?”… The more advantage, the closer to 5.

Where Next?

Popular in Discussions Top

mikl
I wanted to capitalize a string, and tried using String.capitalize(). That generally works well, until you try to capitalize a word like...
New
sashaafm
I’m trying to evaluate the best combo/stack for a BEAM Web app. Right now I’m exploring Yaws a bit, after having dealt with Phoenix for a...
New
Rustixir
Hi everyone, im working on find best language/framework/system for high concurrency, high performance and stable performance after wor...
New
jeramyRR
This is an interesting article to read. Elixir’s performance, like usual, is excellent. However, it seems like the high CPU usage is co...
New
pillaiindu
I want to convert a Phoenix LiveView CRUD website to a CRUD mobile app. What do you think is the easiest way to do so?
New
AstonJ
Please see the new poll here: Which code editor or IDE do you use? (Poll) (2022 Edition) It’s been a while since we first asked this, I...
208 31142 143
New
sergio
There’s a new TIOBE index report that came out that shows Elixir is still not in the top 50 used languages. It also goes on to call Elix...
New
Qqwy
I would like to spark a discussion about the static access operator: .. For whom does not know: it is used in Elixir to access fields of...
New
eteeselink
Hi all, In the last days, two things happened: A blog post titled “They might never tell you it’s broken” made the rounds. It’s about ...
New
slashdotdash
Phoenix Live View is now publicly available on GitHub. Here’s Chris McCord’s tweet announcing making it public.
New

Other popular topics Top

malloryerik
Hi, this is for people who, like me, have had some friction using .html.heex templates in VSCode. The solution seems to be, in a hyphena...
New
vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
New
sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
985 42920 311
New
siddhant3030
Hi, I have to write a raw query for one of my project. But till now I have used ecto queries and don’t have much experience writing raw ...
New
johnnyicon
Hi all, I’ve just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I’m trying to use Postgres...
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 52341 488
New
RisingFromAshes
I’ve read in another post that it may be possible with a router helper - but I couldn’t find an appropriate one, and tbh, I’m still just ...
New

We're in Beta

About us Mission Statement