Date: Wed, 4 Apr 2018 08:21:41 +0200
Hi
We gave been building refactoring tools for a variety of languages over more than a decade including C++ ( www.cevelop.com )... see below
Sent from Peter Sommerlad's iPad
+41 79 432 23 32
> On 3 Apr 2018, at 20:32, Corentin <corentin.jabot_at_[hidden]> wrote:
>
> Refactoring tools that people can trust blindly. (either because the tool works 100% of the time or notifies the user about 100% of the failure cases).
While many practical refactorings are possible, even for C++ with macros, the goal of 100% correctness is ridiculous. It would limit useful transformations too much and there are provable cases, were even simple things like Rename can break stuff unintentionally, just think about template name lookups.
However, doing refactoring in an interactive way, can improve code bases incrementally without the need that every step is perfect. That is what test automation and version management tools (or ctrl-Z) are there as a safeguard.
Regards
Peter
>
We gave been building refactoring tools for a variety of languages over more than a decade including C++ ( www.cevelop.com )... see below
Sent from Peter Sommerlad's iPad
+41 79 432 23 32
> On 3 Apr 2018, at 20:32, Corentin <corentin.jabot_at_[hidden]> wrote:
>
> Refactoring tools that people can trust blindly. (either because the tool works 100% of the time or notifies the user about 100% of the failure cases).
While many practical refactorings are possible, even for C++ with macros, the goal of 100% correctness is ridiculous. It would limit useful transformations too much and there are provable cases, were even simple things like Rename can break stuff unintentionally, just think about template name lookups.
However, doing refactoring in an interactive way, can improve code bases incrementally without the need that every step is perfect. That is what test automation and version management tools (or ctrl-Z) are there as a safeguard.
Regards
Peter
>
Received on 2018-04-04 08:21:46