Для новичков небольшие проекты с открытым исходным кодом легче понимать и изучать. Так какие небольшие open source-проекты стоит изучать сейчас? В этой статье собраны и систематизированы несколько отличных небольших проектов, рекомендованных пользователями Zhihu. Код в основном в пределах 5 000 строк. Если вам интересно, можете взглянуть~

5461b52185b80

1, SeaJS
Sea.js — это фреймворк для загрузки модулей JavaScript, следующий спецификации CommonJS и позволяющий реализовать модульную разработку и механизмы загрузки для JavaScript. Sea.js стремится к простому, естественному написанию и организации кода, а его код очень лаконичен.

2, Koa
Koa — это веб-фреймворк нового поколения для Node.js. Разработан командой Express. Его цель — предоставить меньшую, более выразительную и более надёжную основу для разработки веб-приложений и API.

3, pssh
pssh предоставляет параллельную версию инструментов OpenSSH, особенно подходит для управления ситуациями, когда требуется подключиться к большому количеству машин, включая параллельные версии команд ssh, scp, rsync и kill. Этот проект написан на Python, код ясный и лаконичный, а структуры данных хорошо продуманы. После прочтения вы будете его хвалить.

4, grep-at-point
При написании кода иногда нужно проверить, где используется функция/класс/переменная. Этот проект написан на Emacs Lisp и может искать слово под текущим курсором во всех файлах с указанными расширениями в каталоге проекта.

5, compile-make
Этот проект удовлетворяет потребность в компиляции в один клик в Emacs. Он ищет Makefile в каталоге проекта и выполняет команду make для компиляции. Язык: Emacs Lisp; строк кода: 19.

6, sigslot
Очень упрощённая кроссплатформенная реализация signal/slot. Исходный код содержит более 2,000 строк, но более половины — это код адаптации шаблонов к разному числу параметров, при этом менее 1,000 строк реальной сути.
Анатомия исходного кода Gtalk: Введение в sigslot

7, UCOS
uC/OS II (Micro Control Operation System Two) — это основанное на ROM, масштабируемое, вытесняющее, многозадачное ядро реального времени с высокой переносимостью. Оно особенно подходит для микропроцессоров и контроллеров и представляет собой операционную систему реального времени (RTOS), по производительности сравнимую со многими коммерческими операционными системами.

8, SQLite
SQLite — это система управления реляционными базами данных, соответствующая ACID. Она содержится в относительно небольшой библиотеке C. Это проект в общественном достоянии, основанный D. Richard Hipp. SQLite также можно использовать как настольную базу данных.

9, thttpd
thttpd — это небольшой, простой, портируемый, быстрый и безопасный HTTP-сервер.

10, Boa Webserver
Boa — это небольшой веб-сервер, который можно использовать на нескольких платформах и который довольно распространён во встраиваемых системах.

11, C4
Компилятор C, реализованный с помощью 4 функций, около 500 строк. Он в основном довольно полный и может компилировать сам себя.

12, GLib
GLib — это пакет для разработки, содержащий множество полезных C-программ, таких как деревья, хеши, списки и т. д. Ранее GLib была частью инструментария GTK, но теперь это независимый проект.

13, tj/co
Менее 300 строк, используется для улучшения синтаксиса асинхронных обратных вызовов Node.js.

14, shadowsocks
Shadowsocks — это легковесное прокси-ПО SOCKS на основе Python (те, кто им пользуется, знают).

15, aosabook
Это продолжение замечательной книги aosabook: исходный код для «500 Lines or Less». Код в каждой главе не превышает 500 строк и реализует «большие системы», такие как веб-серверы, краулеры, OCR и т. д. Каждая глава написана экспертом из своей области. Судя по списку авторов, это можно назвать залом славы в области программного обеспечения.

Источник статьи: http://code.csdn.net/news/2822568