Hey,
I’m exploring the idea of a webpage where you can paste a function (or a block of code) in any programming language, and it outputs a list of specific, actionable refactoring suggestions - things like:
- Unnecessary complexity
- Poor naming conventions
- Duplicated logic
- Violations of language-specific best practices
- Readability issues
The goal is to help developers quickly spot areas for improvement and make their code cleaner, more maintainable, and easier to understand.
Questions for you:
- Would you use such a tool? Why or why not?
- What features would make it important for you? (e.g., integration with GitHub, support for obscure languages, explanations for each suggestion, etc.)
- Are you ready to pay for a tool like this (for example, paying for access to advanced checks or being able to tune checks for your programming style)?
- Are there existing tools you love (or hate) that do something similar?
I believe those are tools that use general-purpose LLMs, which aren’t tuned for refactoring specifically. So I guess a specifically tuned tool for refactoring will beat those you mentioned in refactoring tasks.
I also imagine a tool that is not AI-driven. While AI will be used for sure for some checks, I believe static checks and other “computable” heuristics will produce better output faster. I don’t want to throw a bunch of prompts into AI and sell mediocre-quality software to people.
But overall, I think about what you said, but from another perspective - why have a separate webpage if such of helper can be built into IDE/editor? I think this is harder to do than to create a webpage, but maybe this will be better for users (developers).
@YUART yes too, i thibk will be hard to hace another tab just for that purpose. And for refactoring you must know what refactor, I mean, I know when a name is no the best or the code was repeated or a code produce a n+1 problem, so when I ask for refactor to an LLM I make a specific query and not just: refactor it
That’s true, and that’s a hard part. I have some ideas on how to solve that problem, but I can’t prove anything because this is the first time I’m working on a helper like that one.
That’s also the reason why I decided to ask people - there is no point in engaging in complex problem-solving, like for that tool, to only find out that no one actually needs it