You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by Andrei Savu <sa...@gmail.com> on 2011/06/01 15:18:40 UTC

Re: BerlinBuzzWords slides

Probably you should make it crystal clear that the critiques are
aesthetic ones and they have really low impact on ZooKeeper from a
functional perspective, probably they only affect, to some extent, the
development speed and the community (steep learning curve for a new
contributor).

You should not forget that ZooKeeper solves some hard distributed
systems problems and does it really well.

+1 for "code quality is important, and there are things we should keep
in mind, but in general i really don't like the idea of risking code
breakage because of a gratuitous code cleanup"

Just my two cents,

-- Andrei Savu / andreisavu.ro

On Tue, May 31, 2011 at 4:28 PM, Thomas Koch <th...@koch.ro> wrote:
> Hi,
>
> I finished(?) the slides for BerlinBuzzWords:
> http://koch.ro/temp/zookeeper.pdf
>
> The last section is "praise and rant". I added some well deserved praise about
> zookeeper:
> *right balance: functionality vs. usability
> *turn key ready server
> *bindings to other languages
> *large user base
> *proven scalability
>
> These good points about ZooKeeper became more clear to me after I learned
> about JGroups. The JGroups author lives in my home town and we had a chat last
> week. We'll meet again, because he wants to learn what this "ZooKeeper" thing
> is everybody asks him about.
>
> Still I included a small but serious list of some of my critiques about
> ZooKeeper. You may find the slides about the PMD results interesting. My
> favourites are:
>
> * NPath/cyclomatic complexity
> * Assigning an Object to null is a code smell. *Consider refactoring.*
> * Avoid really long methods.
> * This class has too many methods, *consider refactoring* it.
> * A high ratio of statements to labels in a switch statement. *Consider
> refactoring.*
> * Avoid empty catch blocks.
> * Avoid really long parameter lists.
> * (Class has) Too many fields.
>
> Best regards,
>
> Thomas Koch, http://www.koch.ro
>