[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Experiences of a Subversion FS backend developer

From: Attila Kinali <attila_at_kinali.ch>
Date: Thu, 1 Apr 2010 15:09:03 +0200

On Wed, 31 Mar 2010 15:20:37 -0400
"C. Michael Pilato" <cmpilato_at_collab.net> wrote:

> For me, the biggest lessons to be learned here
> touch on over-engineering and under-testing.

As a mere user, who has tried to figure out where the bugs that
bit him are coming from (ie as someone who actually tried to
debug svn), I can tell you that there is not only a touch of
over-engineering but that svn suffers largely from it. Especially
the need to abstract everything at least half a dozen times, so
that you have to deal only with the abstract notion of something
you might have some abstract relation to some abstract thought
that could be comming from some actual implementation is highly
confusing and makes reading the code nearly impossible for someone
who has not had a month time to learn how the architecture of svn
looks like.

If you are ever going to refactor some of the architecture,
my advice would be to get rid of as many abstractions as possible
and use only those that are necessary to handle those few cases
where you actually have different implementations.

You can always add a new abstraction layer later, when you have
the need for it. But generally it is a bad idea to just make
an abstraction for something that someone, somewhen might want
to do differently.

                        Attila Kinali

-- 
If you want to walk fast, walk alone.
If you want to walk far, walk together.
		-- African proverb
Received on 2010-04-01 15:09:34 CEST

This is an archived mail posted to the Subversion Dev mailing list.