Ayende @ Rahien

My name is Oren Eini
Founder of Hibernating Rhinos LTD and RavenDB.
You can reach me by phone or email:


+972 52-548-6969

, @ Q c

Posts: 6,007 | Comments: 44,760

filter by tags archive

A code base has its own style

time to read 1 min | 104 words

Here is an observation, once a code base has reached a certain size, either in time or in size, it usually takes on a style and identity of its own. This is far more than just a coding style that I am talking about. I don't care where you put the braces. I am talking about the repeated patterns that you see over and over in side that code base.

An example would be Castle-inspired projects. You are far more likely to see things named SmartXYZ or IAbcAware, with the usual implications that there are there.

What are the styles that you have noticed?


Nate Kohari

My own code seems to always include type triplets: an interface (IService), the abstract base class (ServiceBase) and the standard implementation (StandardService). Interaction is based on the interface and inheritance is based on the abstract base class.

I don't necessarily like it -- the Base suffix in particular can be obnoxious. :) I just started doing it that way, and it stuck.

Scott Allen

I'm looking at code now with a string pattern - that's the worse.





Everywhere I look, I see string literals.

Francois Tanguay


We come up with conventions such as:

  • FindXYZ methods will return null while GetXYZ methods will throw.

  • TryXYZ will return bool and out value

  • All DTOs are suffixed with the Data keyword.

... and it goes on and on....

Surprisingly, those are never documented although they come through naturally by pairing...

Joe Ocampo

Favorite design pattern syndrome!

Seems the teams really groks one pattern and uses the hell out of it for everything! Not that this is a bad thing but it is funny to see how many XYZstrategy classes there are in the solution.

nichols.mike.s AT gmail.com (Mike Nichols)

I see alot of this in dealing with presentation problems such as patterns that have worked for deeply nested collections that are written to the view without letting the view have any significant code. For example, I am using Observer alot to stick inside a repeater to deal with collection item presentation from the presentation layer.

I always try to suffix the objects that either are employing a pattern or are parts of a bigger pattern with standard names for these so that I can know how to relate to it.

Comment preview

Comments have been closed on this topic.


No future posts left, oh my!


  1. Speaking (3):
    23 Sep 2015 - Build Stuff 2015 (Lithuania & Ukraine), Nov 18 - 24
  2. Production postmortem (11):
    22 Sep 2015 - The case of the Unicode Poo
  3. Technical observations from my wife (2):
    15 Sep 2015 - Disk speeds
  4. Find the bug (5):
    11 Sep 2015 - The concurrent memory buster
  5. Buffer allocation strategies (3):
    09 Sep 2015 - Bad usage patterns
View all series



Main feed Feed Stats
Comments feed   Comments Feed Stats