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

Coding goals / requirements.

From: Gavin Beau Baumanis <gavinb_at_thespidernet.com>
Date: Mon, 17 Jan 2011 18:08:53 +1100

Hi everyone,
I have a general question about Subversion development and instead of assuming, thought I better seek an answer.
Outside of my limited exposure as the PM - I have no Open Source coding experience - so there may well be an "expectation" of coding that I simply don't know about.

This email stems from the last paragraph in this message by Johan Corveleyn;
Which I have copied into this email.

If you're already familiar with the diff-optimisation you can get the full message here;

And if you want some more background the full thread is here;

which I was tempted to just reply to - but thought I had better not hijack the existing thread.

To save you from having to find the post, here is the paragraph I'm referring to;

> Actually, what's a little bit troubling is that there are currently
> only 3 possible "file_len's", of which only 2 are used in practice:
> diff2 and diff3 (diff4 is not used in svn core, only in
> tools/diff/diff4). So, if we make a slow and a fast version, we could
> just as well make a XXX2 and an XXX3 version explicitly, and dispense
> with the need to pass arrays and array lenghts. Hmmm... generic (but
> more complex) code vs. a couple of specialized versions.

The goal of the thread / patch submission is to increase the speed of "diffing".
So, does the design, truly, matter?

As the underlying design of all software should be to create the simplest / cleanest / loosely-coupled code that addresses the problem.
Surely the answer is;
Man-power is limited - as long as you observe the coding guidelines / styles etc.

Is the answer not;
Code to the manner that provides the greatest return on a developer's time for THIS problem.

Assuming the "specialised" version is indeed faster;
If for whatever reason - it is decided that an API is required (public or private) - then an appropriate wrapper can be added when the specific requirement of having an API for those functions becomes a requirement as opposed to simply being a nice design goal to aim for upfront?

As always - thanks for patience / assistance.

Received on 2011-01-17 08:09:37 CET

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