Hacker News new | ask | show | jobs
Ask HN: What open source project, in your opinion, has the highest code quality?
20 points by thetermsheet 2659 days ago
I'm planning to study a number of these codebases to gain insight and inspiration. Maybe even write an article about their commonalities...
9 comments

The test suite for SQLite is very impressive.

> The reliability and robustness of SQLite is achieved in part by thorough and careful testing. As of version 3.23.0 (2018-04-02), the SQLite library consists of approximately 128.9 KSLOC of C code. (KSLOC means thousands of "Source Lines Of Code" or, in other words, lines of code excluding blank lines and comments.) By comparison, the project has 711 times as much test code and test scripts - 91772.0 KSLOC.

Plus they have a whole page on their site about testing [1]. Which is more then you can say about a lot of open source projects.

[1] https://www.sqlite.org/testing.html

Laravel is incredibly well crafted and documented, one of the highest quality OSS projects ever, IMHO.
The sad part about this truth is that because it is PHP, the vast majority of people will dismiss it out of hand.
I honestly prefer Laravel to Spring.
While I wouldn't suggest that his code is meant to be read for beauty/inspiration, djb's code is of incredibly high quality.

I would suggest starting with qmail and looking at the (very mainstream) patches that people are running on top of it.

tinydns is also worth a look.

There are a lot of ways to judge this, but obvious candidates would be GNU Emacs, the GNU coreutils packages, etc., and the Linux kernel itself. (Probably also the BSDs, though I don't know these.)
If I've said it once, I've said it a thousand times: Redis and SQLite (in my opinion) have some of the highest code qualities.
PostgreSQL. It's awesome, welcoming and well documented.
requests, the python package for HTTP/S
One of the most dumbfounding things I've encountered throughout my career is the python community's dogged persistence at avoiding using libcurl.
Getting a resource in requests:

    import requests
    body = requests.get('http://pycurl.io/')
Getting a resource with libcurl:

    import pycurl
    from io import BytesIO
    
    buffer = BytesIO()
    c = pycurl.Curl()
    c.setopt(c.URL, 'http://pycurl.io/')
    c.setopt(c.WRITEDATA, buffer)
    c.perform()
    c.close()
    
    body = buffer.getvalue()
Doesn't answer the question why nobody has build an interface like the first example over the low-level libcurl bindings, or if someone has done so, why it hasn't been more popular.

I'd guess: because distributing packages with native dependencies is sort of a a pain, and was way worse in the past, especially cross-platform, and thus python-only packages are preferred. Leaves open why libcurl bindings weren't choosen for stdlib.

Since we're on the topic of code quality, this example is an incredibly strong indication that you should be using an interface.

And while the requests library might be shorter/easier, it doesn't offer nearly the guarantees that it will exhibit the expected behavior nor the feature flexibility that libcurl does.

https://curl.haxx.se/libcurl/features.html

https://curl.haxx.se/libcurl/theysay.html

What are the advantages of using libcurl over whatever requests does?
There is a very short list of projects that have had more engineering effort put into them than libcurl. Single digits. It's incredibly robust and battle-tested. Just about everything you could want to do with it performs as expected and is well-supported. On top of that, its performance is very good.

We're literally in the business of building on the work of others. Avoiding libcurl seems like an incredibly naive choice to me.

SQLite++