digitalmars.D.learn - Refactoring tools
- Imperatorn (3/3) Feb 02 2021 As the title says:
- Mike Parker (6/9) Feb 02 2021 I believe there's some limited functionality in one or more of
- Max Haughton (7/10) Feb 03 2021 D is also designed to not need as much refactoring as other
- JN (8/9) Feb 03 2021 D uses templates and a lot of code is generated at compile time.
As the title says: 1. Are there any (automated) refactoring tools for D? 2. If not, why? (Is D still too small?)
Feb 02 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.
Feb 02 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).
Feb 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.
Feb 03 2021