The following rule: Name according to purpose (why? - design decision), and not the content (What, How? - can be seen in the code).
For functions, this is almost always an action (verb) followed by a noun of parameters and (or results. (Not for the topic, but for the variables are not used "arrayOfNames" or "listOfNames", this is type information, but simply "names"). This will also avoid inconsistencies if you partially edit the code.
For given templates, such as creating objects, consistently and always use the same name, for example, "Create ..." (and sometimes "Select ..." or "Create ..." otherwise you or your colleagues end up scratching your head wound)
jdehaan
source share