Ответ 1
Я нашел Adium, чтобы быть хорошо продуманным и написанным проектом Objective-C. Он также имеет огромную базу кода.
Я думаю, что одним из лучших способов изучения нового языка программирования является погружение в исходный код и просмотр опыта работы опытных кодеров. Я нашел такой вопрос, заданный здесь в Qaru для других языков, но ни один из них не нацелен на Objective-C. Самое близкое, что я нашел, - это этот вопрос о привлекательных пользовательских интерфейсах Cocoa, но я имею в виду общее качество кода, например, хорошее использование идиомы и шаблоны проектирования, а также полезную документацию. Еще одна хорошая характеристика - это кодовая база, которая достаточно велика, чтобы требовать реальной организационной дисциплины, но достаточно мала, чтобы начинающий мог приспосабливать его/ее голову.
Как вы думаете, высококачественный проект с открытым исходным кодом, соответствующий этим критериям?
Я нашел Adium, чтобы быть хорошо продуманным и написанным проектом Objective-C. Он также имеет огромную базу кода.
В CocoaDev есть достойный список проектов с открытым исходным кодом Mac: http://cocoadev.com/CocoaOpen
Не все проекты все еще активны, но достойное их число. Я особенно рекомендую:
Я не думаю, что там есть какое-то место, чтобы изучить все идиомы и лучшие практики Objective-C, но вы можете забрать их здесь и там со временем и практикой. Cocoa списки рассылки и блоги - хорошие ресурсы для этого. (Есть несколько вопросов, связанных с этим.)
Я сам не погрузился в источник, но Omni frameworks пользуются уважением в сообществе Mac.
Я работаю над каркасом моего собственного, который все еще груб по краям, но я стремлюсь к качественной документации в дополнение к понятным, хорошо -структурированный код.
Окно быстрого поиска Google qsb-mac - Код Google]
Я думаю, что окно быстрого поиска Google (QSB) стоит посмотреть. ИМХО это в значительной степени более чистый googley переписать Quicksilver (Примечание: Н. Jitkoff, QS-программист, также участвует в QSB Google).
Apple имеет множество загружаемых примеров на своем веб-сайте разработчика. Вы можете увидеть источник, а лицензия - BSDish из того, что я помню (используйте его для чего угодно, но не отправляйте оригинальный код без лицензии).
Здесь тестовое приложение, которое я написал ранее сегодня. Загрузите ссылки в разделе "get source" в правом верхнем углу.
Он небольшой, но он демонстрирует хорошую организационную дисциплину (отдельный объект контроллера, а не все, забитый в AppDelegate), простой слой модели с одним классом модели (Header) и правильное использование Cocoa Bindings.
Я работал над источниками GNUstep, у них был хороший последовательный стиль кодирования, и код был хорошо организован. Конечно, проект маловероятен, но, учитывая, что вы знаете, что делают большинство классов, как вы использовали их в своих проектах Cocoa, легко увеличить число, которое вас интересует. Некоторые из проектов GNUstep Applications или приложений Étoilé также могут стать хорошим местом для начала.
Отметьте PSTreeGraph, элемент управления представлением для приложений iPad.
Вычислите участки с открытым исходным кодом здесь.
iMedia Browser , показывает поддержку стратегий 10,4 - 10,7, аккуратно и целенаправленно организована и глубоко прокомментирована. неотъемлемые проблемы с использованием ImageKit смело подходили и решались.
Я стремлюсь к этому уровню мысли, смешанному с практичностью.