Загрузка...

среда, 11 июня 2008 г.

Поиск программного кода

Существует множество причин, по которым стоит использовать чужой труд в виде исходников: нежелание изобретать колесо, нехватка рабочего времени и т.д. Придумано даже слово, которое сподвигает на такой шаг — безысходники. Содержательно, не правда ли?! Встает вопрос: где их взять? В этом посте я перечислю известные мне сервисы, которые дают ответ на поставленный вопрос.

Поиск по программному коду

Чтобы оценить результаты поиска, в качестве искомой фразы буду использовать пресловутое выражение WTF. Для непосвященных поясню, что им (What The Fuck - Что за чёрт!) помечают "ужасные" места в коде. Кстати, существует метрика, основанная на wtf (об этом в конце кода поста).
  • Koders.com - считается лидером среди аналогичных сервисов. Однако, по-моему, результаты слегка не релевантны запросу и несколько малоинформативны.
  • Google /*Code Search*/ - признанный лидер среди поисковиков и тут держит марку. Так, среди отличительных черт можно выделить поиск по регулярному выражению (regex), что очень даже неплохо в данном случае. Поиск по фразе порадовал - ничего лишнего, впрочем, как всегда :)
  • Merobase - достойна внимания любого программиста. Кроме наличия интеграции с Eclipse для контекстного поиска, присутствуют ссылки на svn репозитарии. Весь функционал соответствует выражению "Профессионалам от профессионалов". Рекомендую ознакомиться с этим сервисом.
  • Krugle - при поиске обнаружилось, что некоторые слова фильтруются (в моем случае - what и the). Стоит ли это делать в поисковиках по исходному коду? По-моему, нет... Также в выдачу попали одинаковые файлы. Все это свидетельствует о некачественном движке.
  • Codase - сервис для отчаявшихся. По дизайну складывается такое впечатление, что его разрабатывали не для вечно заваливающих проект программистов, а для школьников и студентов, которым влом делать лабы. Результаты поиска также не особо порадовали.
На этом завершу список, хотя их, конечно же, намного больше.

Каталоги сниппетов.

Сниппеты (snippet - кусок кода, реализующий цельный алгоритм) предназначены для решения одной небольшой задачи. Если надо найти сортировку пузырьком без лишнего кода - вам сюда прямая дорога.

Код часто добавляется пользователями (что-то вроде UGC), поэтому среди каталогов встречаются веб-два-нольные решения.

Для оценки каталогов буду использовать запрос "bubble sort".
  • codefetch{ - этот каталог формируется из примеров, которые можно повстречать в различных книгах по программированию. В поисковой выдаче у каждого сниппета указывается книга, из которой он взят. Я считаю его лучшим каталогом.
  • O'Really Labs Code Search - аналогичный предыдущему, только поиск производится по собственной базе. Результаты поиска появляются через долгое время, что можно отнести к недостаткам.
  • DreamInCode.Net - портал, где есть технические блоги, форумы и каталог сниппетов. Поиск происходит по ним всем, что дает больше полезной информации. Перейдя непосредственно к найденному сниппету, можно без труда выполнить копирование кода, что очень удобно.
  • Snipplr - как можно догадаться по последней букве из названия - это социалка, где можно голосовать за понравившийся код, помечать его тегами и т.д. Судя по результатам поиска (вернее по их отсутствию), это молодой проект, только набирающий обороты.
  • byteMyCode - этот сервис тоже принадлежит к полноценным социальным сетям, и в этом роде он лучше смотрится, чем предыдущий каталог. Кстати, он идеально подойдет всем любителям SMO: тут и top members, и профили пользователей, через которые можно продвигать свой блог...
  • DZone Snippets - вроде бы неплохой каталог, но большой минус - отсутствие по каким-то причинам формы поиска...
Ну вроде бы всё... Если вы знаете о сервисе, который можно включить в этот список, отпишите в комментариях, а я добавлю с ссылкой на вас.



P.S. Как и обещал, определение качества кода на основе wtf - смотрим картинку. А на десерт предлагаю воспользоваться услугами уникального вебсайта - Refactor :my => 'code'.

3 коммент.:

vti комментирует...

Отличная подборка, огромное спасибо! В закладки :)

legco.net комментирует...

codavr.ru ?

Сергей | codeBlogZ комментирует...

codavr использует движок Гугля и ищет по айтишным блогам, список которых давно не обновлялся (сюдя по копирайтам и поисковой выдаче - минимум год). добавлять я не стану, не та категория...

Отправить комментарий | Feed



 
^

Powered by BloggerCreative Commons License