[cheesecake-dev] Comments from Connelly Barnes

Michał Kwiatkowski constant.beta at gmail.com
Fri Jun 2 09:06:46 PDT 2006


Thank you for your comments. I can assure you that we're not fanatics
and we are aware of weaknesses of Cheesecake indexing. Part of work
that I'll do this summer will be focused on making Cheesecake score
more reliable. Of course the score would always be somewhat subjective
but I think certain level of trust can be achieved. For example,
currently we're using pylint to score code kwalitee. Pylint is a nice
tool, but more different your coding style is from what its authors
consider to be ideal, the lower is your score. I feel it is dishonest,
so I'll work on adding consistency check on coding style. No matter
how different from pylint ideal your code is, you get high score for
consistency. I think most of programmers can agree that style
consistency is a good thing. Pylint checks consistency on the high
level - consistency among whole Python community (e.g. how to call
modules, how to use whitespaces, etc.). Adding lower-level consistency
check (code style consistency for project in question) will make the
whole score more reliable. So, even if you have strange coding style,
as far as it's consistent, it's OK.

I gave only one example, but I want to emphasize that we'll try to
improve Cheesecake score as much as we can. Point us to weaknesses of
Cheesecake index and we'll try to fix them. But please remember we
can't please all developers. If your project gets low Cheesecake score
it doesn't mean it's bad. But it can mean you've written it in a way
that other (let us say: most) Python developers would find it hard to
read and modify. You may place your tests in unit_tests directory, but
please create a test suite, and point to it in setup.py, so that every
user can test your package by simple "python setup.py test". If you
don't use setuptools it's your decision, but please note that users
would have a hard time installing your script/library. Your module may
have been written for developers to use, but remember that the user
would have to manage dependencies manually if you don't use standard
distribution method. Having that kind of standards is beneficial for
both developers (easy to modify someone else code) and users (easy to
test and contribute richer bug reports). And that is what is
Cheesecake about - encouraging good practices that will be beneficial
for both users and developers.

mk
-- 
 . o .       >>  http://joker.linuxstuff.pl  <<
 . . o   It's easier to get forgiveness for being wrong
 o o o   than forgiveness for being right.



More information about the cheesecake-dev mailing list