Есть ли сайт для поиска общих, уже написанных функций?

Я сижу здесь, пишу функцию, которую я положил, был написан раньше, где-то на земле. Это слишком распространено, чтобы не пытаться, и мне интересно, почему я не могу просто перейти на веб-сайт и найти функцию, которую я смогу затем скопировать и вставить в свой проект за 2 секунды, вместо того, чтобы тратить время на переосмысление колесо.

Конечно, есть определенные библиотеки, которые вы можете использовать, но где вы находите эти библиотеки и когда они отсутствуют, есть ли сайт, как я описываю?

Возможно, вики какого-то типа, содержащего бесплатный код, который кто-то может редактировать и улучшать?

Изменить: я могу все хорошо описать, я просто не знаю, КАК их делать. Так, например, прямо сейчас, я пытаюсь локализовать робот/автомобиль/точку в пространстве. Я ЗНАЮ, что есть способ сделать это, только исходя из диапазона и расстояния. Триангуляция и трилатация. Как кодировать, это другая история. Сайт, который мог бы иметь код psuedo, шаг за шагом, как это сделать, было бы смешно полезным. Это также обеспечит оптимальное решение, так как все могут его редактировать. Я также пишу в Matlab, который я ненавижу, потому что это причудливо, добавляя к моему желанию создать веб-сайт, как я описываю.

Ответ 1

Во-первых, два оговорки:

  • Копировать и вставлять код, который вы не понимаете, - плохая идея. Убедитесь, что вы точно понимаете, что делает код, прежде чем использовать его.
  • Убедитесь, что вы соблюдаете лицензию на код, который вы копируете. Это важно!

Эти оговорки в стороне, это часто зависит от языка. Языки с открытым эталонным развитием (а не только с открытым исходным кодом, думаю, Python по сравнению с Java) имеют официальные архивы библиотек с открытым исходным кодом. Например:

Кроме того, не забудьте заглянуть в стандартную библиотеку ваших языков. Некоторые современные языки имеют массивные стандартные библиотеки, которые часто содержат функциональность, которую я ищу:

Непублично развитые языки часто имеют неофициальные архивы сообщества. Например:

Третья категория сайтов является агностикой языка. Они часто представляют собой лучший поиск через POG (простой старомодный Google). Например:

Наконец, четвертая категория сайтов, которые я нахожу более полезными, - это поисковые системы исходного кода:

Вы также можете найти полезный исходный код или, по крайней мере, получить помощь в написании чего-либо, через различные pastebins.

  • Pastebin является языковым агностиком
  • HPaste в основном Haskell, но немного на других языках.

Часто, в конце дня, это проще всего для google, хотя.

Ответ 2

StackOverflow.com. Нет, я не шучу.

В лучшем случае люди приходят сюда, говоря: "У меня уже некоторая библиотека уже сделана X", и очень часто коллективная мудрость отвечает "да". Но самым большим препятствием является отсутствие языка описания: даже здесь большая проблема для многих плакатов описывает проблему достаточно ясно, чтобы другие узнавали ее как нечто, что они видели раньше.

И если люди не могут понять, что вы пытаетесь сделать, ни одна поисковая система не будет.

Ответ 3

Существует вики, в которой содержится бесплатный код, который любой может редактировать и улучшать:

Rosetta Code.

В качестве средства обзора есть страница Solutions by Programming.


На предыдущей странице:

"Розеттский кодекс - это программный сайт хрестоматии.       идея состоит в том, чтобы представить решения одной и той же задачи в виде       возможно много разных языков, чтобы продемонстрировать       как языки схожи и разные, и       человек с заземлением в одном подходе к проблеме       в изучении другого".

Ответ 4

Вырезать и вставлять код, который вы найдете в Интернете в производственный код, будет похож на жевательную резинку, найденную на улице. - Майк Джонсон

С учетом этого попробуйте сайты, на которых размещены проекты с открытым исходным кодом, такие как GitHub, CodePlex, code.google.com и т.д.

Ответ 5

Помимо таких сайтов (Stack Overflow), я не думаю, что там много, может быть CodePlex, но я почти отметил вас -1 для предположения, что код, найденный в Интернете, является вашим, чтобы скопировать.

Я бы посоветовал прочитать о лицензировании программного обеспечения, надеюсь, вы по крайней мере прокомментируете, откуда вы его взяли.

Ответ 6

Я не уверен, что этот вопрос является агностиком языка, но я использую GitHub таким образом;) На других языках могут быть места, где это возможно.

Ответ 7

Книжная полка Safari от O'Reilly имеет много, много книг, которые содержат множество реализаций, из которых можно выбрать.

http://my.safaribooksonline.com/

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