On Saturday, 19 July 2014 at 00:05:55 UTC, Brad Anderson wrote:
To summarize what I think are the best ideas so far:

std.string
----------

  Eager            Lazy
  -----            ----
  capitalize       capitalized
  center           centered
  detab            detabbed
  entab            entabbed
  format           formatted
  leftJustify      leftJustified
  munch            munched
  outdent          outdented
  removechars      charsRemoved
  rightJustify     rightJustified
  splitLines       (none, uses splitter)
  squeeze          squeezed
  strip            stripped
  stripLeft        leftStripped
  stripRight       rightStripped
  succ             successor
  toLower          lowercased
  toStringz        nullTerminated
  toUpper          uppercased
  translate        translated
  wrap             wrapped

std.path
--------

  Eager                Lazy
  -----                ----
  absolutePath         absolutePathOf *
  buildNormalizedPath  asNormalizedPath *
  buildPath            asPath *
  defaultExtension     withDefaultExtension *
  dirName              dirNameOf *
  driveName            driveNameOf *
  expandTilde          tildeExpanded
  relativePath         relativePathOf *
  setExtension         withExtension
  stripDrive           driveStripped
  stripExtension       extensionStripped

* - not terribly happy with these but I'd say it's the best of what's been proposed

Generally it seems like past tense works when the function has a verb, "with" prefix when there is no verb but you are modifying something about the input, and "Of" suffix when you are pulling something out. Also, the verb should come last because it has a better ring to it.

I think it is worth while having this discussion even though it does seem like we're bike shedding. These names will be set in stone for the foreseeable future so having a quick upfront discussion is worth it IMHO.

As for the above proposed names i really like these names a lot. I think they offer a good convention for lazy versions *and* they sit nearby in the documentation.

Reply via email to