Well designed / high-quality open source software [closed]
Asked Answered
C

1

9

Asked on Programmers: Well designed / high-quality open source software

I'm taking a software design class where I should choose an open source software to analyze from the Software Design point of view.

It has to be a big project: not less then 100,000 lines of code.

I would really like to choose a software that is very well designed and architected to have good insights on good software design.

By good design I mean things like meaningful classes and architecture, good use of (design) patterns, good use of abstraction, good organization of components, high cohesion and low coupling between components, etc...

Do you have any software to suggest me?

Note that the software just need to have a good design, the design does not need to be documented! :)

It does not need to be an application for the end user... It can also be a library, a tool, etc...

Cornel answered 31/3, 2011 at 9:40 Comment(7)
I suggest taking it to programmers.se.com. And Apache foundation projects come to mind (httpd, ant, etc.)Gretna
I didn't know about it! Thank's! Posted there :)Cornel
which programming language/operating system do you prefer? I would suggest you take a project that has selftesting features (unittests, integrationtests) These are a good starting points to analyse subcomponents (unittests) or even workflows (integratino tests)Marlin
@Marlin I'm fine with: Java, C++, python. Linux, Mac or Windows are fine as well. With respect to tests I thought about that, but I don't want to limit the number of suggestion I could get... I would however consider it for sure to choose the system eventually :)Cornel
On programmers.se: programmers.stackexchange.com/q/63890/21322Yttrium
A small caution: any architecture can be good or bad, it all depends on the architectural drivers behind it and how well the design addresses them. Still, one would hope you should be able to find something that is "good enough".Airdrop
@K3b +1; the other salient point is what kind of App? The architecture of a web app is typically different from a thick client (for example). Another key differentiator is size: Large Enterprise Scale systems are typically architected different to smaller scale ones.Airdrop
A
2

So I see that it's been two hours and no ones come to the party - well - no ones stuck their own necks out so I'll be the first :)

I've got an open source ASP.NET CMS / Web Application Framework I've built over the last few years; it incorporates all (most?) of the architectural goodness I have learnt (up till then, anyway).

But:

  • I'm not sure if it's 100,000+ lines of code or not though; the download is about 3 Mb.
  • I'm definitely not claiming this to be super excellent, put on an alter, covered in medals - but I think it's worth a look: I'm brave enough to put it out there (!)
Airdrop answered 31/3, 2011 at 12:32 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.