Thread overview
Refactoring tools
Feb 03, 2021
Imperatorn
Feb 03, 2021
Mike Parker
Feb 03, 2021
Max Haughton
Feb 03, 2021
JN
February 03, 2021
As the title says:

1. Are there any (automated) refactoring tools for D?
2. If not, why? (Is D still too small?)
February 03, 2021
On Wednesday, 3 February 2021 at 07:20:06 UTC, Imperatorn wrote:
> As the title says:
>
> 1. Are there any (automated) refactoring tools for D?

I believe there's some limited functionality in one or more of the IDE plugins, but I'm not aware of anything full-featured or independent.

> 2. If not, why? (Is D still too small?)

The answer to that question is always the same: because no one has felt motivated enough to develop it yet.

February 03, 2021
On Wednesday, 3 February 2021 at 07:20:06 UTC, Imperatorn wrote:
> As the title says:
>
> 1. Are there any (automated) refactoring tools for D?
> 2. If not, why? (Is D still too small?)

D is also designed to not need as much refactoring as other languages, so even for our size there isn't a huge amount of demand.

Previously the actual implementation would've been hard but now we have the compiler working fairly well as a library it's just a question of profitability (be that money, fun, or social kudos).
February 03, 2021
On Wednesday, 3 February 2021 at 07:20:06 UTC, Imperatorn wrote:
> 2. If not, why? (Is D still too small?)

D uses templates and a lot of code is generated at compile time. It's the same reason C++ doesn't have any advanced refactoring tools like e.g. Java does. In Java, it's simple to rename a class in all files that use it, and the tools know that X class is actually the class from module A and not the X class from module B. In D, for all you know you could have someone using mixin("My"~"Class"), good luck automatically renaming that.