
Ask HN: Best way for finding open source projects to read and learn from? - mettamage
In my computer science education the idea of reading relevant literature was always limited to books and articles. In only one case (kernel programming) was source code part of the literature. Because of this, I&#x27;m woefully behind in reading amazing quality open source projects.<p>What are your strategies for finding quality open source projects? And do these strategies differ if you&#x27;re just learning a new language (or framework) compared to if you already have a good grasp for it?<p>Currently, my personal interest is in learning best practices for node.js (and its ecosystem). This question, however, is aimed for learning best practices or gaining interesting ideas about all languages and frameworks.
======
itamarst
Some reading material - The Architecture of Open Source Applications: three
books (+ bonus book) for your education. Different levels of writing quality
since it's many authors, but lots of useful stuff in there:
[http://aosabook.org/en/index.html](http://aosabook.org/en/index.html)

Doesn't include much if any source code, but once you've read the explanation
of how something works you can then go read the source.

\--

My 5-second heuristic for judging open source project quality: check for
tests. If there's no tests, I assume it's broken crap and move on. Not
_always_ true, but it's a pretty good heuristic.

Next, check for different levels of tests (depends on project): unit, end-to-
end with running system. Good tests will also have comments/docstrings
explaining the goal of the test separately from the code.

Good comments/docstrings in the code are also useful signs of quality.

I barely know Ruby, but today I submitted a PR to Sinatra. It wasn't that hard
to figure out what was going on, because the code was well-commented and easy
to follow. I even have some sense of how to do testing because they have a
bunch of well-documented tests.

~~~
mettamage
Thanks! That helps a lot :)

