On Wed, 09 Mar 2011 09:02:14 -0500, Bruno Medeiros <brunodomedeiros+spam@com.gmail> wrote:

Although in the particular cased of named arguments, I still don't feel it is worthwhile. Not unless it could be done in a very orthogonal way (both in semantics and syntax), and even so it should likely be very low priority (as in, not any time soon...).

It's one of those things where, in some cases, not having named arguments makes code unreadable. But having named arguments does not make *all* code more readable. In many many cases, code is readable just fine without using the named arguments.

But those cases where it does help, it's essential. Like Don's CreateFont example (actually almost any GUI function).

We might do something like require explicit comments for confusing functions like:

foo(
  null, // paramA
  null, // paramB
  null, // paramC
);

during the review process. It would at least document properly what is happening.

I see not too much value in the "skip default parameter" prospect, most code can do fine without that via overloading. But the documentation and compiler verification of parameter names is what I see as the killer feature here.

B) If the pull request is large, it should be near effortless to put
those changes in the IDE and review them there.

Again, don't have one.

-Steve

Just because you don't have or don't use an IDE, that is not an argument against doing B).

It absolutely is. I use NetBeans for doing php development. It took me hours and hours to set it up properly, install the right add-ons, etc. I'm not about to do that for something like descent or DDT so I can properly read code, I'm way more likely to just go look up the function signature myself for the few times I need it.

Just having the named arguments idea makes so much more sense than having to load a specialized (and I might add, way overkill for just reviewing code in both size and complexity) tool.

It's not one of those "absolutely have to have it" features, it's a nice-to-have. I certainly can and have lived without it, and there are certainly ways to compensate for not having it.

It's kind of like arrays in D. Every time I have to use another language, I miss D's array syntax features. All the same functionality is there, it just takes more effort to do the same thing. That little effort is not terrible, but I much prefer not having to do it.

-Steve

Reply via email to