Обучение с открытым исходным кодом
Я студент, и у меня много свободного времени в этом отпуске, поэтому я решил уделить немного времени тому, как писать хороший код (все, что я знаю в данный момент, это C и немного C++).
Мой вопрос о том, как найти исходный код некоторых приложений? Допустим, я ищу некоторые исходники, которые используют определенную библиотеку. Как я могу найти проекты с открытым исходным кодом, которые используют библиотеку о том, что мне интересно.
Я пробовал на Google Code и SourceForge, но безуспешно. Я думаю, что я не знаю, как искать. Есть ли у вас какие-либо советы / ссылки о том, как это сделать?
9 ответов
Нет единого окна для поиска открытого исходного кода.
Если вы хотите прочитать какой-то хорошо написанный код, GNU Savannah - это хранилище материалов GNU, доступных для просмотра (Binutils, GCC toolchain и множество других). Программное обеспечение GNU, IMHO, является одним из лучших написанных на C где-либо.
Вы также можете проверить MINIX, которая является операционной системой на основе микроядра с открытым исходным кодом (которая также совместима с POSIX).
Проект Gnome имеет много проектов, которые охватывают широкий спектр языков от C до Python и даже C# (FSpot).
При поиске проекта, если вы знаете название, Google должен помочь. Если нет, то поищите в Google библиотеку, например "libfoo", или посмотрите метаданные менеджера пакетов, который вы используете (у него часто есть сайт сопровождающего).
Например:
[aiden@devbox ~]$ ldd /bin/ls
...
libcap.so.2 => /lib64/libcap.so.2
libacl.so.1 => /lib64/libacl.so.1
libc.so.6 => /lib64/libc.so.6
libpthread.so.0 => /lib64/libpthread.so.0
...
Я мог бы Google "libpthread", чтобы найти, что это является частью библиотеки GNU C
Если вы хотите принять участие в FOSS/C, научитесь использовать системы контроля версий, такие как Git или subversion, и diff для создания патчей. Поговорите с людьми, они всегда хотят, чтобы новые разработчики исправляли ошибки и исправляли проблемы. Но вы, вероятно, найдете приказ о клевете и социальную лестницу для подъема.
- GNU Саванна
- MINIX 3
- Гном Проекты
- Git Распределенный контроль версий
- Бесплатная книга по Subversion
- Ядро Linux
Удачи и приятного времяпровождения!
Есть универсальный магазин для поиска открытого исходного кода.
Он называется http://www.google.com/codesearch и выполняет поиск во многих проектах с открытым исходным кодом. Чтобы найти код с использованием определенной библиотеки, просто найдите термин, который вы используете, чтобы включить его в код, например #include
Взгляните на "Книгу Дракона", если сможете ее найти. Чтение кода Спинелли тоже хорошо. Оба помогут вам понять код, который вы читаете.
Если есть определенные методы, которые вы знаете, включены в библиотеку, то вы всегда можете найти их.
В качестве альтернативы, если в библиотеке есть настроенный канал IRC или группа новостей, задайте вопрос там.
Посетите Launchpad.net и свяжитесь с дружественным сообществом Ubuntu. Это хорошее место для начала, потому что они не такие резкие, если вы зададите вопрос.
Кодеры могут быть полезны. Это поисковая система для исходного кода.
В своем блоге Скотт Хансельман опубликовал серию "Еженедельный исходный код", которую стоит проверить.
Четыре "легких" шага:
- Выберите бесплатное приложение, которое вам нравится
- Подумайте о функции, которой не хватает
- Попробуйте выяснить, как реализовать эту функцию
- Сделай это
Пункты 1 и 2 сохранят вашу занятость.
С пунктом 3 вы узнаете, как загружать исходники, читать патчи и понимать код разных людей.
А с пунктом 4 вы будете практиковаться в кодировании и, если хотите, можете официально сотрудничать с проектом:)