473,394 Members | 1,748 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,394 software developers and data experts.

FOSS projects exhibiting clean/good OOP?

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.
Jul 9 '08 #1
11 1093

On Wed, 2008-07-09 at 07:38 -0700, Phillip B Oldham wrote:
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/...loper%27s+page
************************************************** ************************

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

iD8DBQBIdNNP2TFRV0OoZwMRAgQVAKCv7b8SzTmaunZLfR9veo GhJvbLFACfaq51
9H4N9T4ijG1eMfDVHxxHGyw=
=zC/T
-----END PGP SIGNATURE-----

Jul 9 '08 #2
Phillip B Oldham wrote:
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 think the following are very good:

Python Imaging Library (PIL)
elementTree
(actually anything that Fredrick Lundh has written is an excellent example)

ReportLab

wxPython

Django

That should keep you busy for a while.

-Larry

Jul 9 '08 #3
Phillip B Oldham <ph************@gmail.comwrites:
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.
IMHO these projects are examples of very interesting and clean design:

docutils: http://docutils.sourceforge.net/docs/dev/hacking.html

trac: http://trac.edgewall.org/wiki/TracDe...ntArchitecture

In both of them code is not just clean, it is a work of art. ;)

HTH,
Rob
Jul 9 '08 #4
On 9 juil, 16:38, Phillip B Oldham <phillip.old...@gmail.comwrote:
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.
Jul 9 '08 #5
>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.
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
--
Psss, psss, put it down! - http://www.cafepress.com/putitdown
Jul 10 '08 #6
On Jul 9, 9:26 pm, "bruno.desthuilli...@gmail.com"
<bruno.desthuilli...@gmail.comwrote:
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?
Jul 10 '08 #7
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?
Jul 10 '08 #8
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).

Jul 10 '08 #9
Phillip B Oldham a écrit :
On Jul 9, 9:26 pm, "bruno.desthuilli...@gmail.com"
<bruno.desthuilli...@gmail.comwrote:
>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?
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.

Jul 10 '08 #10
On Jul 9, 4:38*pm, Phillip B Oldham <phillip.old...@gmail.comwrote:
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.
Jul 10 '08 #11
Phillip B Oldham schrieb:
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

Jul 15 '08 #12

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

9
by: Limey Drink | last post by:
Hi I have used recently for the odd shell scrit hear and there but nothing really serious. Software I have previously written has been in VB(urgh) and C++. I have been thinking of changing my...
1
by: Jay W NOjwalkerSPAM | last post by:
I have some class objects each in separate projects that belong to a solution. The projects reference one another within that solution. The 'main' function calls the other procedure/function...
6
by: Mr. B | last post by:
I have VB.net 2003 and I am wondering How (if possible) can I clear out the current listing of my OPEN AND EXISTING PROJECT list when I first start up VB.net? I currentl show 10 such projects. ...
2
by: HaukiDog | last post by:
Hi, I am trying to set up my C# web project to be compiled by NANT. Everything compiles and works fine within the IDE. I have a created a NANT build file which has a simple project tag, like...
2
by: George Durzi | last post by:
I'd like to get some real world feedback from developers out there who have to work with the "design" folks to integrate look and feel stuff into a vs.net web project. A lot of designers use web...
3
by: Dan Munk | last post by:
Hello, I am working on a very large multi-tier Web application. The application consists of approximately 100 middle-tier/back-end projects and 200-300 presentation projects. Obviously this is...
2
by: Patrick Blackman | last post by:
How do you clean the Recent Projects listbox?
22
by: ddg_linux | last post by:
I have been reading about and doing a lot of php code examples from books but now I find myself wanting to do something practical with some of the skills that I have learned. I am a beginner php...
9
by: Phillip B Oldham | last post by:
Are there any FOSS Python Single-Sign-on Servers? We're looking to centralise the sign-on for our numerous "internal" webapps (across multiple servers, languages, and domains) to speed user...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.