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,130 | Comments: 45,560

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.


  1. RavenDB Conference 2016–Slides - one day from now

There are posts all the way to Jun 01, 2016


  1. The design of RavenDB 4.0 (14):
    26 May 2016 - The client side
  2. RavenDB 3.5 whirl wind tour (14):
    25 May 2016 - Got anything to declare, ya smuggler?
  3. Tasks for the new comer (2):
    15 Apr 2016 - Quartz.NET with RavenDB
  4. Code through the looking glass (5):
    18 Mar 2016 - And a linear search to rule them
  5. Find the bug (8):
    29 Feb 2016 - When you can't rely on your own identity
View all series


Main feed Feed Stats
Comments feed   Comments Feed Stats