Open source software with good code documentation to improve design skill [closed]

As I’m trying to get better at designing good software I’m wondering if there are out there good (as in well written) open source software with lot of code documentation that aims to explain details about why this or that design choice was made in the context of that specific problem set. I’m interested in OOP and I don’t really care much about the language (php / java / c# are preferred tho :))

Example:

Problem: X
Possible way to handle this problem: A, B, C.
We choose B because… (technical details about the implementation, pros and cons, code comments etc)

6

One good example is the Linux kernel. The mailing list explains many design decisions, and there are also books that describe why the internals are written the way they are (one example being Understanding the Linux Kernel, although it looks like there are many others. Linux Magazine also has (or at least used to have) a summary of the mailing list talking about the main discussions/design decisions in the kernel community.

EDIT:
Since the kernel can be intimidating to just start “learning,” here are a few areas to start with:

  • Task scheduling
  • Kernel memory allocation
  • file system

If you limit the scope to a single component, it should be easier to understand.

Also, to look at the code easily while reading documentation, it might help to look at LXR.

2

These books offer some high-level perspective on how and why certain open-source software is designed the way it is:
The Architecture of Open Source Applications

There are two volumes that cover a wide variety of open-source projects, both old and new. For example:

  • The article on bash covers a number of decision points and even has a section near the end about “What I would have done differently” to provide a retrospective.
  • The article on Eclipse provides several diagrams, code snippets, and discusses some of the evolution through the various major versions it has been released under.

3

The book Beautiful Code documents design problems and their solutions. I don’t remember if all the chapters address open source projects, but at least one of them (the chapter on a particular design problem in SVN) does.

1

I would advice reading two books.

For me this first one is THE BEST BOOK ON PROGRAMMING EVER! 🙂 (And it doesn’t matter if you don’t use C#, you can still read it)

Agile Principles, Patterns, and Practices in C#

Clean Code

I really think first one should be read by every programmer.

Edit:
Those books are great resource for people that are trying to get better at designing good software. People looking for good (as in well written) open source software/code examples with lot of code documentation that aims to explain details about why this or that design choice was made in the context of that specific problem set.
Plus it has big section on organizing your assemblies. I haven’t seen this in any programming book. And I have read probably 30.

1

There’s a massive amount of code available for Java system classes. It probably lacks the level of documentation you want, but it’s real code solving real problems. If you work in Java anyway it can be easy to get at and real interesting.

1

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật