Что хорошего, современный c-код выглядит?
Я в первую очередь программист С#/. NET, но проект хобби, который я собираюсь взять, будет включать кодирование в c.
Я знаю, что существует тонна c-кода, но очень сложно отделить хорошо структурированный проект c из плохо структурированного проекта, если вы не "выросли" с языком. Может ли кто-нибудь указать мне на новый, нетривиальный (но не огромный) проект, который считается хорошим примером того, как структурировать c-код?
Edit
Если вы не можете найти проект, не стесняйтесь обсуждать на словах, как вы думаете, что проект c должен быть структурирован.
Ответы
Ответ 1
Dave Hanson C Интерфейсы и реализации - очень хорошо продуманная библиотека из примерно 7000 строк кода. Книга великолепна, если вы можете себе это позволить.
Реализация языка программирования и библиотек Lua составляет около 17 000 строк кода C и очень хорошо работает, но довольно сложна в местах &mdash, компиляторы и сборщики мусора не так легко понять без фона в этих областях. Но код красиво спроектирован.
Git - более 125 000 строк кода. Я не могу рекомендовать, чтобы кто-нибудь изучал его как пример того, как программировать код C. Просто дизайн и публичные интерфейсы, не говоря уже о реализации, трудно понять &mdash, поэтому существует так много учебных пособий git.
Ответ 2
Я считаю, что Стив Dekorte IO language является хорошим примером для чистого и прагматичного современного C.
Ответ 3
Проверьте git исходный код: http://github.com/git/git/tree/master
Ответ 4
Это совершенно анекдотично, но я слышал, что проект SQLite считается хорошим кодом.
Ответ 5
Как насчет:
"Язык программирования C", 2-е издание, Kernighan и Ritchie
Ответы на упражнения
http://users.powernet.co.uk/eton/kandr2/
Ответ 6
Следующая книга (с примерами кода) может немного облегчить ваш сдвиг в парадигме:
Стивен Кочан
Программирование в C, третьем выпуске
http://www.kochan-wood.com
Ответ 7
![C: A reference Manual By Harbison and Steele]()
C: Справочное руководство содержит множество примеров использования кода с реализациями, ориентированными на Стандарт C; Определенный документ для изучения, возможно, вместе с C Std.
Ответ 8
Проект SVN полностью написан на C, и он хорошо поддерживается: последовательно оформленный, хорошие комментарии, низкий запах кода. Я рекомендую просматривать его.