Thanks Walter. I think we're on the same page here.
On Sat, May 23, 2015 at 8:07 AM, Walter Bright <[email protected]> wrote: > > > On 5/22/2015 10:16 AM, Daniel Murphy wrote: >> >> Could you please identify some refactorings that you feel are useless? >> I've been the author of many large refactorings needed for DDMD, and >> I suspect you making yourself the bottleneck for refactorings is going >> to be a huge pain. If you feel contributors have been merging pull >> requests without adequate review please let us know. >> > > I have pulled the ones you needed for DDMD, and I pulled them because it was > necessary in order to make DDMD work. > > Of course it's a judgement call, but refactorings that are not productive > share one or more of these characteristics: > > 1. potatoe potahto name changes > 2. indentation/whitespace/reformatting > 3. the number of lines of code increases > 4. re-ordering functions in a file > 5. moving code from one file to another > 6. large diffs with no seeming point to them > 7. large diffs that are not reviewable because github diff is unhelpful with > figuring out what actually changed > 8. make dmd slower > > Essentially, refactorings that "bounce the rubble" around are going to be > viewed negatively. > > Refactorings that would be viewed with favor: > > 1. identifying significant common code sequences out and consolidating into > reusable functions > 2. better encapsulation > 3. more logical flow of control > 4. reduction in cyclomatic complexity > 5. move towards making functions pure > > For example, I recently did a small refactor that replaced argc/argv manual > memory management with the Strings type. It removed a bunch of code, and the > rest flowed a lot better. > > I've pulled a lot of refactorings. My concern with this is the large > increase in regressions. Those refactorings should be reducing regressions - > but it seems that at best they are not helping, and at worst are making > things worse. I'm also concerned that people are not working on the real > problems with DMD, and instead are doing refactorings. We have a lot of open > regressions, and no proposed fixes for them. But we've got refactorings > regularly appearing. I know that refactorings are more fun than regression > fixes. But we've got to get the bread and butter work done. > > And lastly, I am swamped with work. I'm the only one working on range fixes > for Phobos - fixes that I have been advocating for a couple years now, and > nobody has done anything to move this forward. So I am doing it. This > range-ification is, quite frankly, absolutely critical to D's future > success. I must get it done. But I get bogged down in interminable reviews > of refactorings with hundreds of lines of rubble bouncing. _______________________________________________ dmd-internals mailing list [email protected] http://lists.puremagic.com/mailman/listinfo/dmd-internals
