2009-11-19 4 views
4

Я нахожусь в изучении Ruby, где я бы хотел посмотреть исходный код некоторых небольших библиотек, чтобы посмотреть, как они были построены. Я не знаю, что считается небольшой библиотекой, но надеялся, что SO может порекомендовать некоторые легко понятные библиотеки для изучения.Простые библиотеки Ruby для понимания для новичков

Так что, если кто-нибудь знает очень крошечную библиотеку или два, это хороший пример для начинающих рубистов, чтобы учиться, пожалуйста, порекомендуйте!

Я хотел использовать Manveru's Innate lib, потому что он пытается оставаться под 2000 LOC, но я еще не знаком с сокращением Ruby, которое так много используется в нем.

Возможно, для меня будет лучше ~ 100 - ~ 500 LOC libs? Спасибо.

ответ

5

Ryan "ZenSpider" Davis «ю.ш. вещи всегда интересны. Это, однако, не совсем подходит для новичков. С одной стороны, Райан абсолютно фанатичен в отношении вещей, простых, коротких и чистых, что помогает понять немного. С другой стороны, он делает использует почти все силы Руби, чтобы достичь этого.

Одним из самых удивительных примеров его работы является MiniTest - новая среда тестирования, которая заменяет Test :: Unit в стандартной библиотеке Ruby 1.9. Он содержит full xUnit style testing framework in 419 lines, RSpec style BDD framework in 87 lines и full mocking framework in a whopping 28 lines.

Но, к примеру, так, что структура BDD настолько мала, что она использует рефлексивное метапрограммирование для динамической петли над методами утверждения из рамки тестирования и переименовывает их в методы BDD must_.

Другим приятным примером является также основа BDD Christian Neukirchen: Bacon has 291 lines. Также проверьте his other stuff, например егоmocking framework in 131 lines, forum software in 488 lines и blog engine in 146 lines.

Последнее, но не менее важное: есть Gregory Brown's Prawn PDF Generation library. Интересная вещь о Кревете на самом деле заключается в том, что она была специально написана не только как библиотека создания PDF, но и также как пример хорошо написанного, хорошо продуманного кода Ruby.Опять же, his other stuff также интересен, как his blogging engine in 184 lines.

Говоря о Греге Брауне и хорошо написанном коде: Грег является автором книги Ruby Best Practices, в которой используются реальные примеры кода из реальных проектов Ruby, чтобы показать, какой хороший, хорошо написанный, хорошо продуманный Ruby-код выглядит как. (Кроме того, у него также есть глава под названием Ruby Worst Practices с анти-примерами.) И вам даже не нужно покупать книгу (хотя вы действительно должны), потому что all the code samples are on GitHub!

+0

Это очень полезно, Йорг! – 2009-11-20 22:30:44

1

Вы можете проверить Github. Существует много проектов Ruby от «очень маленьких» до «слишком много».

+0

Спасибо за совет. Я предполагаю, что GitHub - это то место, где я найду то, что ищу, но без конкретных рекомендаций трудно понять, работает ли библиотека или просто тестовый стенд или что-то еще. – 2009-11-19 21:47:11

+0

lol, я только что разместил один и тот же xD – knoopx

3

Некоторые кирки из github.com:

+1

Удивительный! (и вот некоторые дополнительные символы для удовлетворения требований минимального комментария.) – 2009-11-19 21:55:28

1
  • sinatra - около 1.5K библиотека вполне читаема
  • первая версия rake было 78 строк кода, по мнению автора - может быть, есть некоторые старые версии вокруг ..

  • гораздо больше github.com ...

+0

Благодарим вас за это. Ничего себе, 78 строк? Трудно поверить, что можно так много! – 2009-11-19 21:55:59

+0

Ничего себе, Синатра гораздо читабельнее, чем я думал! – 2009-11-19 22:46:46

Смежные вопросы