title: Naming conventions: Guidelines for verbs/nouns and english grammar usage
body: <p>Can anyone point me to a site, or give me some wisdom on how you go about choosing names for interfaces, classes and perhaps even methods and properties relating to what that object or method does?</p>
  
  <p>This is specifically for Microsoft development, so Java-esque "doGet" and so on isn't really used, however some general rules that cross language barriers must (I would've thought) exist.</p>
  
  <p>An example might help: I have 4 choices of names for an interface:</p>
  
  <pre><code>IGroupedItem
  IGroupableItem
  IDataEntity
  IGroupedEntity
  </code></pre>
  
  <p>They all contain an adjective and the noun, or just a noun. Looking at the .NET framework it seems like there must be some kind of ruleset for this, for consistency? Aside from the obvious verbs for methods.</p>
  
  <p><strong>Edit:</strong> Though the example is an interface, I'm not limiting this to just interfaces. The general guideline is classes are nouns, methods verbs, properties nouns. I suppose what I mean is choice of the synonym. Is throwing "Entity" everywhere wrong</p>