個人の使い捨てプロジェクトをホストする場合、1つのサービスとプロジェクト構造が際立っていますか?[閉まっている]


12

私は、Google Code、SourceForge、BitBucket、およびGitHubを見ています。彼らは大きなプレーヤーのようです。今、私はまだそれらが提供するすべての機能を分解していませんが、私が書くさまざまなコードを置く場所を本当に探しています(プロジェクトオイラーの私のソリューション、コードゴルフ/プログラミングパズルスタック交換など)を中央の場所で行います。

それで、私の最初の質問はこうです:このような状況では、あるサービスが他のサービスの中で際立っているのでしょうか?


サービスを選択したら、コードの配布方法を選択する必要があります。リポジトリとプロジェクトを設定するためのオプションがいくつかあります。単一のリポジトリに任意の数のプロジェクトを保持できます。たとえば、Project Eulerのさまざまなソリューションすべてに対して、「Tom OwensのProject Euler Solutions」リポジトリを作成できます。私のさまざまなCode Kataソリューションなどに。または、そのようなものを言語ごとに分類することもできます(あるリポジトリのPythonのProject Eulerソリューション、別のリポジトリのJavaのPEソリューション、および3番目のリポジトリのCode Kata C ++ソリューションを使用)。

2番目の質問:特にリポジトリの作成方法に関して、オープンにすることを選択したコードサンプルを共有する方法を決定するための制限または規則はありますか?私の考えでは、これはあなたが選択したサービスによって決定されるかもしれない(コミュニティの慣習に基づいて)。

回答:


10

Bitbucket。

彼らは、優れたサービス、無料パッケージのプライベートリポジトリ(および無制限のパブリック)を提供し、問題トラッカーで非常に敏感です。

無料のプライベートリポジトリを除いた同じことがGithubにも当てはまりますが、gitは非常に嫌いです。それは個人的な好みであり、gitを支持するものではありません。何らかの奇妙な理由でhgよりもそれを好む場合、Githubは完全に有効な選択肢です。

リポジトリの整理方法については、回避できる場合は言語を混在させないでください。ほとんどのIDEは、プロジェクトが単一の言語で構築されるという前提に基づいて構築されます(言語+ html、css&jsの組み合わせが期待されるWebプロジェクトを除く)。IDEが対応できないと言っているのではなく、IDEが各言語の処理方法に関するデータをロードする必要があるため、コード補完などの機能が少し遅くなるだけです。

リポジトリが公開されている(したがって無制限である)場合、プロジェクトスキーマごとの言語ごとにリポジトリ、つまり「euler_cpp」、「euler_python」などを選択します。完全にあなた次第です。

フォルダー構造については、プロジェクトオイラーソリューションについて:

  • 同じ問題に対して異なるソリューションを計画している場合は、問題ごとのフォルダー
  • 問題ごとのファイル、単一のソリューション用

当てはまるものを選び、それを使い続けてください。ある問題について複数の解決策がある場合は、他の問題に対する第2の解決策がなくて、最初の構造を選びます。

更新:

問題ごとに1つのファイルが提案されているのは、実際に適用可能な場合のみであり、プロジェクトでオイラー問題を解決するための潜在的なスキーマとして提案されています。

btillyのコメントによると、各言語および/またはプラットフォームにはファイルとフォルダーに関する独自の規則と慣習があるため、言語ごとにより良い/より自然な構造を決定する必要があると付け加えています。


1
フォルダ構造は言語に依存する必要があります。スクリプト言語を使用している人は、C / C ++ではフォルダー内の複数のファイルに自然に書き込まれるコードを1つのファイルに頻繁に書き込みます。
btilly

@btillyそう。あなたのコメントを答えに追加しています
...-ヤンニス

実際、プロジェクト内でファイルをレイアウトする方法を具体的に探しているのではなく、使用するサービス内で多数のプロジェクトをレイアウトする方法を探していました。
トーマスオーエンズ

@Thomas レポを整理する方法については...。従来は、リポジトリごとに1つのプロジェクトがありました。各サービスに関する具体的な手順をお探しですか?
ヤニス

私が探しているのは、異常なものがあれば、各コミュニティ内に存在する慣習です。私の経験では、BitBucket、GitHub、SourceForgeのようなものは、単なるサービスというよりも規範や慣習のあるコミュニティです(ただし、サービスのように使用する人もいます)。
トーマスオーエンズ

3

1つのオプションを忘れました-独自のリポジトリをホストします。本当に最近まで飛ぶ唯一の方法でした。

今日使用する必要がある場合、主にプライベートリポジトリと水銀岩を許可するため、ビットバケツを選択します。


私はこれをVisualSVNで苦労せずに行いました。
コーディサンド

そこに行ったことがあります。turnkeylinux.orgアプライアンスを使用するとさらに効果的になります。。
ワイアットバーネット

3

Google Code、SourceForge、およびGitHubを異なる時点で使用した後、GitHubは他の2つよりもはるかに優れていると思います。

  • コードの作成と共有の実際の作業に完全に焦点を合わせます。
  • 問題処理はデフォルトで有効になっており、使用が簡単であるだけでなく、コードとプルの両方のリクエストとうまく結びついています。
  • 初心者向けヘルプは優れています。たとえば、リポジトリの使用を開始したり、プルリクエストを処理したりするための段階的な手順です。
  • バイナリ配布用ではありません。これは、PyPIなどの専門サイトで適切に処理されます。
  • 独自のWebページをゼロから開発する代わりに、シンプルなwiki。
  • 優れたフィードサポート-私が興味を持っているすべてのための単一のフィード。
  • 非公式で読みやすいコミュニケーション。
  • 新機能の非常に積極的な開発。

また、Githubは、Project Eulerソリューションのようなものを保存したり、要点を使用してゴルフスニペットをコーディングしたりするのに最適です。
マットエレン

1

私の個人プロジェクトはそれほど大きくありません(大量のテキスト、グラフィックスなし)ので、DropBoxのマスターとMercurialリポジトリがあります。バックアップ(DropBoxがなくなっても、所有している各コンピューターにリポジトリのコピーが残っています)と移植性を簡単に開始できます。

配布したいポイントに到達したプロジェクトがあると仮定すると、可視性を高めるためにいつでもBitbucketに移動できます。これには、オイラープロジェクトソリューションのコードは含まれません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.