Subject: Re: [Bitcoin-development] overall bitcoin client code quality

From: John Smith <[email-masked]>
Date: Tue, 12 Jul 2011 07:21:12 +0000

On Mon, Jul 11, 2011 at 9:33 AM, Mike Hearn <[email-masked]> wrote:

> > My overall suggestion is to begin a complete rewrite, inspired by the old
> > code rather than moving a lot of "known to be somehow functional" around.
>
> This essay is old but still relevant, I think:
>
>  http://www.joelonsoftware.com/articles/fog0000000069.html
>

+1

More code documentation would be helpful, and so would making the interfaces
more understandable/readable, and getting rid of the manual locking
(especially in client code!), but I don't see how that would warrant a
complete rewrite.

Some refactoring would be much safer than trying to reproduce every nook and
cranny in a rewrite.

re:4) I also don't see why boost would be a 'nonstandard dependency'. From
what I understand, a large part of the new C++0x standard is derived from
boost. Also C++ compilers are getting faster and more smart all the time, so
I absolutely don't see "build speed" as a goal.

re:6) I've already submitted a few pull requests that replace hardcoded
magic values with constants. Moving the constants to a config file is not
needed IMO because the end-user doesn't need to change them.

JS