Words used in Source Code
Here are some wordles (or tag clouds) from all kinds of names in source code.
The names have been extracted from a huge amount of code, separated into single words, and put up into a wordle.
What objects are doing
Verbs used in method names
These are the most frequently used verbs in method names.
The bigger the font, the more frequently the word was used. Color is chosen randomly.
Only verbs which are the first word of the method name and which are in imperative form have been considered.
Some verbs have been removed in cases where there are nouns spelled the same way and the noun meaning was intended.
(e.g. date, file, ram, value, win, object, form, tan, sin)
Click on the wordle to enlarge it. On the enlarged version you can click on the words to see how and where it was used.
Questions
Verbs used in functions with boolean result, boolean properties, fields or parameters
Often yes/no-questions are used to name a boolean value, like "IsVisible", which can be translated into "Is this object visible?".
What other verbs except "is" are used for these questions?
To exclude verbs that don't originate from questions, but are simply used in methods that return a boolean value
(mostly to indicate if the method succeeded), only verbs are considered which are in 3rd person singular form and
are the first word in the name. Nevertheless they are stemmed to infinitive form.
The things that are handled
Nouns used in classes, properties, fields and parameters
Here nouns have been taken from all kinds of variables (except local variables) and classes.
This time, all nouns of a name have been considered. The nouns are stemmed, so that singular and plural forms are
identified as one word.
Patterns
Nouns used in class names
The goal here was to extract some interesting names for concepts in classes, not so much the
things that are handled (like "File"), but rather concepts like "List" or "Cache", up to
patterns like "proxy" or "adapter".
To accomplish this, only the suffix nouns of the class names have been considered, e.g. in "WindowList", only "List" was used.
Analyzed assemblies:
- All .NET assemblies which can be found in the GAC of a .NET 4.0 installation.
- NUnit
- Effiproz (http://effiproz.codeplex.com/releases)
- WebChart
- SharpMap
- Lucene
- Quartz.NET
- MoreTerra
- GraphSharp
This resulted in
- 393 assemblies
- 41,444 types
- 456,932 methods
- 269,027 fields
- 108,683 properties
- 485,163 parameters
Word lists have been taken from WordNet.
The wordles were rendered using tagxedo.com.
Original cloud image by Hidrik Sijens (flickr)