On Saturday, 20 June 2015 at 18:46:45 UTC, Steven Schveighoffer
wrote:
I think the issue we are struggling with here is that:
abbreviate -> abbreviated
This makes some sense. However, the past participle of "set" is
"set".
So "set the extension" -> "a set extension" doesn't work,
because "set" doesn't change. Our enemy here is the English
language :)
If the original was named something like "modifyExt", then
"modifiedExt" would be fine.
I would understand that if it was part of a consistent pattern
for new names. However, judging by toLower/toLowerCase, there is
none - and, if I understand Walter Bright's argument correctly,
he argues that since we were not consistent in naming when
creating std.algorithm, there is no reason to be consistent about
it now.
And my understanding of the pushback from Walter about renaming
really has to do with avoiding breaking code for the sake of
renaming. At this point (before setExtension has ever been
released), it's "what is the best name". No code should be
broken, the renaming objection shouldn't apply. I'm 100% in
favor of not having both setExt and setExtension to mean
different but similar things.
Just to clarify, it's still not too late to rename setExt.
And 'with' doesn't work with every possible updated version, we
have to work around the quirks of English here.
I think just using different verbs/prepositions would work. For
example, "asLowerCase".
But really, the egregious error is the slightly different yet
identical names. It's like having setExt and set_ext mean
different things. This also reminds me of std.regex vs.
std.regexp. I never knew which one was the "new" version.
At least that was temporary. This is going to be set in stone
once 2.068 rolls out.