FOSS projects exhibiting clean/good OOP?

  • Thread starter Phillip B Oldham
  • Start date
P

Phillip B Oldham

I'm wondering whether anyone can offer suggestions on FOSS projects/
apps which exhibit solid OO principles, clean code, good inline
documentation, and sound design principles?

I'm devoting some time to reviewing other people's code to advance my
skills. Its good to review bad code (of which I have more than enough
examples) as well as good, but I'm lacking in finding good examples.

Projects of varying sizes would be great.
 
T

Tim Cook

I'm wondering whether anyone can offer suggestions on FOSS projects/
apps which exhibit solid OO principles, clean code, good inline
documentation, and sound design principles?

I'm devoting some time to reviewing other people's code to advance my
skills. Its good to review bad code (of which I have more than enough
examples) as well as good, but I'm lacking in finding good examples.

Projects of varying sizes would be great.

Of course 'I think' mine matches that description. :)

In addition to the two links in the signature below where you can get a
description and source code; there is an entry on Ohloh that says it is
well documented code. http://www.ohloh.net/projects/oship

I would appreciate your feedback.

Cheers,
Tim

PS. The Launchpad and Ohloh repositories lag the openEHR SVN by several
hours.

--
**************************************************************************
Join the OSHIP project. It is the standards based, open source
healthcare application platform in Python.
Home page: https://launchpad.net/oship/
Wiki: http://www.openehr.org/wiki/display/dev/Python+developer's+page
**************************************************************************

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)

iD8DBQBIdNNP2TFRV0OoZwMRAgQVAKCv7b8SzTmaunZLfR9veoGhJvbLFACfaq51
9H4N9T4ijG1eMfDVHxxHGyw=
=zC/T
-----END PGP SIGNATURE-----
 
B

bruno.desthuilliers

I'm wondering whether anyone can offer suggestions on FOSS projects/
apps which exhibit solid OO principles, clean code, good inline
documentation, and sound design principles?

This is somewhat subjective... Some would say that Python's object
model is fundamentally broken and crappy (not MHO, needless to say)
that Python + "solid OO principles" is antinomic !-)

More seriously:
I'm devoting some time to reviewing other people's code to advance my
skills. Its good to review bad code (of which I have more than enough
examples) as well as good, but I'm lacking in finding good examples.

Projects of varying sizes would be great.

I'd recommand at least FormEncode and SQLAlchemy.
 
D

Daniel Fetchinson

I'm wondering whether anyone can offer suggestions on FOSS projects/
This is somewhat subjective... Some would say that Python's object
model is fundamentally broken and crappy (not MHO, needless to say)
that Python + "solid OO principles" is antinomic !-)

More seriously:


I'd recommand at least FormEncode and SQLAlchemy.

I'd object calling FormEncode a well-designed project. The classic
dilemma has not been dealt with very well: should the software be
uber-flexible and hence complex or more rigid but simple. Ideally,
this dilemma is solved by being uber-flexible but the user (meaning
developers using the code) experience is kept simple by hiding the
complexity from developers who don't want to know about them but
exposing it to advanced developers who do want to know about them.
IMHO FormEncode is not a good example of this. But PIL definitely is!

Cheers,
Daniel
 
P

Phillip B Oldham

This is somewhat subjective... Some would say that Python's object
model is fundamentally broken and crappy (not MHO, needless to say)
that Python + "solid OO principles" is antinomic !-)

Really? Would you happen to be able to provide any further information
on that?
 
P

Phillip B Oldham

Thanks all - lots to go through there! :D

I'd heard previously that Trac was a nice example, or rather its core
was, but I'd also heard that there were lots of problems with it and
that they were redeveloping it from scratch?
 
B

Bruno Desthuilliers

Phillip B Oldham a écrit :
Thanks all - lots to go through there! :D

I'd heard previously that Trac was a nice example, or rather its core
was, but I'd also heard that there were lots of problems with it and
that they were redeveloping it from scratch?

Trac's plugin system is interesting, yes, but there were indeed quite a
couple gotchas last time I used it (about 2 years ago).
 
B

Bruno Desthuilliers

Phillip B Oldham a écrit :
Really? Would you happen to be able to provide any further information
on that?

Well... Some people seems to think that an object model with no
language-enforced access restriction, no implicit 'self' reference and
the necessity to explicitely declare 'self' as first argument of methods
is broken. You'll also find a couple guys complaining about Python not
forcing you to put everything into classes, à la Java.
 
M

Michele Simionato

I'm wondering whether anyone can offer suggestions on FOSS projects/
apps which exhibit solid OO principles, clean code, good inline
documentation, and sound design principles?

I'm devoting some time to reviewing other people's code to advance my
skills. Its good to review bad code (of which I have more than enough
examples) as well as good, but I'm lacking in finding good examples.

Projects of varying sizes would be great.

I vote for the doctest module in the standard library.
 
P

paul

Phillip said:
Thanks all - lots to go through there! :D

I'd heard previously that Trac was a nice example, or rather its core
was, but I'd also heard that there were lots of problems with it and
that they were redeveloping it from scratch?
They continually improve parts of it, but I don't know of any severe
problems whatsoever. Yes people are moaning about lack of multi-project
support but that was a design decision way back.

From a programming POV, I highly recommend looking at the source. The
component model looks simple but is very powerful. It's also a good
example how code benefits from interfaces wrt. structuring and
documentation.

cheers
Paul
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,564
Members
45,039
Latest member
CasimiraVa

Latest Threads

Top