Q:

How do you separate the meanings of synonymous words?

I apologize if this is not the right forum for this question. Please direct me to the right one if not.
When I write functions I'm always plagued by which synonym of a word to use when naming the function. How do you guys differentiate? Are there subtle differences that I'm missing?
Examples:

Getters        - get, at, retrieve, fetch, from
Setters        - set, insert, put, add
Concatenation  - concat, merge
Threading      - sync/asynch, threaded, worker

I'm probably forgetting a bunch, but you should be able to get the idea. Thanks!
As an example answer: from is different from get in that it suggests getting a range of values. What about the rest though?

A:

I think each verb has its own convenient case to be used. I would use them as follows:
Getters
get: Single object retrieval
at: Single item retrieval from a collection
retrieve,fetch,from,obtain: Any object, stream retrieval from a distant location
Setters
(Same convention in Java)
set: Single object assignment
insert: An item addition to a collection possibly with an index
put: An item addition to a collection without considering the index
add: An item addition to beginning or end of a collection

Concatenation
concat: Appending of two objects one after another
merge: Merging two collections possibly requiring a more complex processing than concatenation
Deletion
delete: Any deletion operation requiring a complex processing
remove,removeAt: Deletion an object from a collection possibly with an index
pop: Deletion from a stack,queue
and so on...

