'''Language metaphors''' refer to the application of constructs developed from human languages (i.e. linguistics) into the programming language landscape. Since so many languages depend on non-verbal ''punctuation'' of some sort, we can more specifically, talk about applying ''written''-language metaphors. Firstly: A part of general CodingStyle suggests putting a human-readable name to every conceptual unit. This begins with variable names, and scales upwards to functions -> classes/structs/objects -> modules/files-> programs. There are probably only a few exceptions, like general index variables and lambda functions, where this rule can be broken, unless you're writing code that will never be used again. Secondly, use the semantic categories to aid in naming objects (which helps every reader of the code): *''Variables'' should always be '''noun-named''' since they are static and act as the building blocks for your ObjectArchitecture, *After that use '''verb-names''' when applying computation -- the forces acting on these data, *'''Adverbs''' for when your modifying such methods (like Python decorators), and *'''Adjectives''' for properties of your noun-objects. In addition to using these linguistic concepts, I support the use of ''punctuation'' for being clearer than having none: * "?" for query-object methods (isWritable?(file)), * "!" for (possibly) mutating methods, writing to/within memory (sort!(myList)), * "#" for changing an otherwise immutable variable or writing to the file system (myDataBase#(all_current_objects)), * "^" for delegating to super/parent classes. * "@" for referring to "self" in a method, ---- CategoryCodingIssues