Naming conventions

From D Wiki
Revision as of 13:25, 24 June 2015 by Vladimir Panteleev (talk | contribs) (Created page with "== Schemes == I could identify the following distinct naming schemes: {| class="wikitable" | ! Name || Example || Template |- |result-noun ||chunks ||This function returns...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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 reverse 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
join joined join joiner
map mapped map mapper
reduction reduced reduce reducer
split split split 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 convertToLowerCase lowerCaser toLowerCase, asLowerCase
upperCased convertToUpperCase upperCaser toUpperCase, asUpperCase
capitalization capitalized capitalize capitalizer toCapitalized, asCapitalized