Когда речь заходит о размещении ваших личных проектов с отбрасыванием, выделяется ли одна служба и структура проекта? [закрыто]

Я смотрю на Google Code, SourceForge, BitBucket и GitHub, поскольку они, похоже, являются крупными игроками. Теперь я не разбил все функции, которые они предоставляют, но я действительно ищу место для размещения различного кода, который я пишу (мои решения для Project Euler, код, который я мог бы написать для Code Golf /«Программирование головоломок» и т. Д.) В централизованном месте.

Итак, мой первый вопрос: для такой ситуации один сервис выделяется среди других?


Как только я выбрал услугу, мне нужно выбрать, как я буду распространять код. Есть несколько вариантов, которые я вижу для создания репозиториев и проектов. Единый репозиторий может содержать любое количество проектов - например, у меня может быть репозиторий «Project Euler Solutions» Tom Owens для всех моих различных решений Project Euler с проектами для каждого языка и среды в каталогах в этом репозитории, в другом хранилище для моих различных решений Code Kata и так далее. Или я могу сломать что-то вроде этого по языку (есть решения Project Euler в Python в одном репозитории, решения PE в Java в другом репозитории и решения Code Kata C ++ в третьем репозитории).

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

12 голосов | спросил Thomas Owens 1 J0000006Europe/Moscow 2011, 20:53:43

4 ответа


10

Bitbucket.

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

То же самое, за исключением бесплатных частных репозиториев, верно для Github, но я очень не люблю git. Это личное предпочтение, я не выступаю против git, если для какой-то странной причины вы предпочитаете ее по hg, тогда Github является вполне допустимым выбором.

Как организовать репозиции, не смешивайте языки, если вы можете избежать этого. Большинство IDE построены на основе предположения, что проект построен на одном языке (кроме веб-проектов, где ожидается сочетание языка + html, css и ams; js). Я не говорю, что IDE не сможет справиться, просто такие функции, как завершение кода, будут немного медленнее, так как в IDE придется загружать данные о том, как обрабатывать каждый язык.

Если ваши репозитории являются общедоступными (следовательно, неограниченными), я бы пошел на репо на один язык для каждой схемы проекта, то есть «euler_cpp», «euler_python» и т. д. Не имеет значения, какой сервис вы выберете, как вы организовать ваши репозиции полностью зависит от вас.

Что касается структуры папок, для решений эйлеров проекта:

  • Папка для каждой проблемы, если вы планируете иметь разные решения для одной и той же проблемы.
  • Файл для каждой проблемы, для отдельных решений

Выберите тот, который применяется и придерживайтесь его, если для одной проблемы у вас есть несколько решений, выберите первую структуру even , если у вас нет второго решения для любой другой проблемы.

update:

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

В соответствии с комментарием btilly я добавляю, что лучшая /более естественная структура должна решаться на каждом языке, так как каждый язык и /или платформа имеют свои собственные соглашения и amp; практики в отношении файлов и папок.

ответил yannis 1 J0000006Europe/Moscow 2011, 21:25:21
3

Вы забыли один вариант - разместили свой собственный репозиторий. На самом деле это был единственный способ летать до недавнего времени.

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

ответил Wyatt Barnett 2 J0000006Europe/Moscow 2011, 01:33:00
3

После использования Google Code, SourceForge и GitHub в разные моменты времени я бы сказал, что GitHub намного лучше, чем два других:

  • Фокусируется полностью на фактической работе по созданию и совместному использованию кода.
  • Обработка ошибок включена по умолчанию и не просто проста в использовании, но хорошо связана с запросами кода и pull.
  • Помощник для новичков отлично подходит, например, пошаговые инструкции для начала работы с репозиторием и для обработки запросов на тягу.
  • Не предназначен для двоичного распространения; это лучше обрабатывается специализированными сайтами, такими как PyPI.
  • Простая вики, а не создание собственной веб-страницы с нуля.
  • Отличная поддержка подачи - единый канал для всего, что мне интересно.
  • Неофициальное и, следовательно, читаемое, сообщение.
  • Очень активная разработка новых функций.
ответил l0b0 3 J0000006Europe/Moscow 2011, 12:54:32
1

Мои личные проекты не очень большие (много текста, без графики), поэтому у меня есть Mercurial репозитории с мастерами DropBox. Это быстрый способ начать работу с резервным копированием (если DropBox уходит, у меня все еще есть копия репозитория на каждом компьютере, который у меня есть) и переносимость.

Предполагая, что у меня есть проект, который доходит до того момента, когда я хочу его распространять, я всегда могу перенести его в Bitbucket для большей видимости. Это не включает код для решений Euler Project.

ответил David Thornley 2 J0000006Europe/Moscow 2011, 01:41:50

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132