Naming conventions
Revision as of 16:37, 24 June 2015 by Vladimir Panteleev (talk | contribs)
Schemes
I could identify the following distinct naming schemes:
Name | Example | Template |
---|---|---|
result-noun | chunks | This function returns its argument(s) as/in (a) _____ This function returns the _____ of its argument(s) The function's return value is a _____ of its argument |
result-adjective | chunked | This function's return value is its argument(s) but _____ This function's return value is _____ compared to its argument(s) |
verb | chunk / chunkify | This function's goal is to _____ its argument(s) |
verb-noun | chunker | This function is a(n) _____ |
preposition+noun/adj. | byChunk / asChunks | This function's return value presents the argument _____ |
Existing names
Here are some lazy functions in Phobos which operate on (take and return) ranges, their existing names (in bold), and what their name might look like in the above naming schemes. Names already in use by other parts in Phobos are struck out.
Feel free to edit this table if you have any brilliant ideas, but just to clarify - these are informative, and no renaming of existing, established names is being considered.
result-noun | result-adjective | verb | verb-noun | preposition+noun/adj. | other |
---|---|---|---|---|---|
std.range | |||||
reversed | reverser | inReverse | retro | ||
stride | stridden | stride | strider | withStride | |
chain | chained | chain | chainer | asChain | |
roundRobin | inRoundRobin | ||||
radialOrder | radial | radialArrange | radialArranger | inRadialOrder | |
prefix | taken | take | taker | withLength | |
exactPrefix | exactTaken | takeExactly | exactTaker | withExactLength | |
singlePrefix | oneTaken | takeOne | oneTaker | withLengthOne | |
noPrefix | noneTaken | takeNone | noneTaker | asEmpty | |
suffix | dropped | drop | dropper | withDropped | |
exactSuffix | exactDropped | dropExactly | exactDropper | withExactDropped | |
singleSuffix | oneDropped | dropOne | oneDropper | withOneDropped | |
repeat | repeated | repeat | repeater | ||
cycle | cycled | cycle | cycler | ||
zipped | zip | zipper | |||
lockstep | lockIterate | lockIterator | inLockstep | ||
transversal | transversed | transverse | transverser | asTransversal | |
frontTransversal | frontTransversed | transverseFront | frontTransverser | ||
transposition | transposed | transpose | transposer | ||
indexed | index | indexer | withIndex | ||
chunks | chunked | chuck / chunkify | chunker | byChunk / asChunks | |
enumeration | enumerated | enumerate | enumerator | ||
std.algorithm | |||||
commonPrefix | getCommonPrefix | ||||
find | finder | ||||
findAdjacent | adjacentFinder | ||||
findAmong | |||||
until | |||||
mismatch | getMismatch | ||||
cache | cached | cache | cacher | withCache | |
cacheBidirectional | bidirectionalCached | cacheBidirectional | bidirectionalCacher | withBidirectionalCache | |
chunkedBy | chunkBy | chunkerBy | |||
filter | filtered | filter | filterer | withFilter | |
filterBidirectional | filteredBidirectional | filterBidirectional | bidirectionalFilterer | withBidirectionalFilter | |
group | grouped | group | grouper | asGroup | |
joined | joiner | ||||
map | mapped | map | mapper | ||
reduction | reduced | reduce | reducer | ||
splitter | |||||
unique | uniq | ||||
cartesianProduct | crossJoined | crossJoin | crossJoiner | ||
nWayUnion | |||||
setDifference | subtracted | setSubtract | setDifferentiator | ||
setIntersection | intersected | setIntersect | setIntersecter | ||
setSymmetricDifference | symmetricSubtracted | setSymmetricSubtract | setSymmetricDifferentiator | ||
setUnion | unionized | setUnion | setUnionizer | union (verb) | |
std.path | |||||
extChanged | setExt | extensionSetter | withExtension | ||
std.uni | |||||
lowerCased | lowerCase | lowerCaser | toLowerCase, asLowerCase | ||
upperCased | upperCase | upperCaser | toUpperCase, asUpperCase | ||
capitalization | capitalized | capitalizer | toCapitalized, asCapitalized |