[dmd-internals] Refactorings of dmd

Walter Bright via dmd-internals dmd-internals at puremagic.com
Mon May 25 13:36:39 PDT 2015



On 5/25/2015 11:28 AM, Steven Schveighoffer via dmd-internals wrote:
> I feel like I need to respond to this. For the most part, I think the “bouncing the rubble” points are spot on. Reorganizing files can have benefits, and generally github is quite good at recognizing the move.

My experience with github is it is quite terrible at showing a reasonable diff 
when there's been whitespace and code motion changes.

>   
>
> But the logical fallacy of regressions being tied to refactorings (correlation does not imply causation) bothers me. Regressions aren’t exclusively caused by refactorings,

I agree they aren't caused exclusively by refactorings, and correlation is not 
causation. But I expect a refactoring to reduce the incidence of regressions, 
and this does not seem to be happening. Refactorings make changes hard to 
review, and refactorings are often attached to other pull requests which have 
resulted in regressions. The actual cause of the regression cannot of course be 
known until a fix is determined, but the refactoring is not helping with 
figuring out why a PR has produced a regression.

I am not immune to making such mistakes myself - 
https://github.com/D-Programming-Language/dmd/pull/4678 fixes a regression I 
introduced when doing a refactoring. Nobody should be taking this as a personal 
affront. It isn't. All of us can do better.

PR bug fixes need to be focused on the bug fix. Refactorings should be separate 
PRs and marked as refactorings and must strive to introduce no behavioral changes.


 >  We all agree with your vision for the most part, but not everyone needs to 
exclusively work on your priorities for D to succeed.

Exclusivity is neither desirable nor necessary, and most of the good stuff has 
come based on an individual's initiative. But not enough work in the priorities 
is clearly a problem. If we do not work on these priorities, there won't be a D 
future for anyone. And as explained, I am of the opinion that many of the 
refactorings and renamings are negatively productive in that they impede 
progress. Look at all the postings arguing about name changes.


 > Let’s have a beer in Utah and get our goals all aligned :) -Steve

Absolutely! And let's all keep in mind that email exchanges are a poor 
communications method when difficult things are talked about. Absent tone, body 
language, etc., this can unfortunately result in needless misunderstandings and 
hurt feelings. I can't enumerate all the times a heated email exchange 
evaporated in 5 minutes over a beer. Chuck says that there's a good watering 
hole nearby. This is a major purpose behind Dconf, and I'm looking forward to 
talking about this with y'all!


More information about the dmd-internals mailing list