Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Checks: "Towards a Catalog of Refactorings for Elixir" #91

Open
Nezteb opened this issue Oct 9, 2023 · 3 comments
Open

New Checks: "Towards a Catalog of Refactorings for Elixir" #91

Nezteb opened this issue Oct 9, 2023 · 3 comments

Comments

@Nezteb
Copy link

Nezteb commented Oct 9, 2023

What do you want Credo to do?

See @lucasvegi's work and accompanying research paper.

It's a carefully curated collection of 54 good Elixir refactoring opportunities, and I think many of them would make good credo checks.

I mentioned this in their repo as well.

Which existing behaviour would change?

This would add new checks that credo users could opt-in to.

@lucasvegi
Copy link

I completely agree with the suggestion! We actually plan to automate checks for our catalogs of Code Smells and Refactorings at some point in the future, and Credo could be an excellent alternative for that.

@rrrene
Copy link
Owner

rrrene commented Oct 12, 2023

I am sympathetic to this as well. We could include the checks directly in Credo an give them a special tag or, if you want to remain in control of the checks' code, we could provide a plugin that includes those checks.

@lucasvegi
Copy link

I am sympathetic to this as well. We could include the checks directly in Credo an give them a special tag or, if you want to remain in control of the checks' code, we could provide a plugin that includes those checks.

Amazing! It would be exciting to have our research incorporated into Credo. Suddenly not only the refactorings part, but also the code smells part which is being incorporated into the Elixir official documentation. As for the incorporation strategy (directly or via plugin), honestly, I still don't have an opinion on which would be best.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants