私はGoogle Code、SourceForge、BitBucket、GitHubを見ています。今、私はそれらが提供するすべての機能をまだ分解していませんが、私が書いたさまざまなコード(Project Eulerの私のソリューション、Code Golf /のために作成する可能性のあるコード)を配置する場所を本当に探していますプログラミングスタックスタック交換など)。
だから、私の最初の質問は次のとおりです。このような状況で、あるサービスが他のサービスの中で際立っていますか?
サービスを選択したら、コードの配布方法を選択する必要があります。リポジトリとプロジェクトの設定には、いくつかのオプションがあります。単一のリポジトリーは、任意の数のプロジェクトを保持できます。たとえば、このリポジトリー内のディレクトリー内の各言語および環境のプロジェクト、別のリポジトリーを使用して、プロジェクト・オイラーに対するすべてのさまざまなソリューションのための「Tom OwensのProject Euler Solutions」リポジトリーを持つことができます。私のさまざまなコードカタソリューションなどのために。または、私はそのようなものを言語ごとに分解できます(Pythonに1つのリポジトリにProject Eulerソリューションを、別のリポジトリにPEソリューションをJavaに、そしてコードカタを持っています) 3番目のリポジトリのC++ソリューション)。
私の2番目の質問:特にリポジトリの作成方法に関して、オープンにすることを選択したコードサンプルを共有する方法を決定するために存在する制限または規則はありますか?私が思うに、これはあなたが選択したサービス(コミュニティーの慣習に基づく)によって決定されるのではないかと思います。
Bitbucket。
彼らは優れたサービス、無料パッケージ(および無制限のパブリック)のプライベートリポジトリを提供し、課題追跡で非常に応答します。
同じことが、無料のプライベートリポジトリを除いて、Githubにも当てはまりますが、gitは非常に嫌いです。これは個人的な好みです。私はgitに対して主張していません。もし、いくつかのweird理由がhgよりも好きな場合、Githubは完全に有効な選択肢です。
リポジトリを整理する方法については、回避できる場合は言語を混在させないでください。ほとんどのIDEは、プロジェクトが単一の言語で構築されていることを前提に構築されています(言語+ html、css、jsの組み合わせが期待されるWebプロジェクトを除く)。 IDEは対応できないと言っているわけではありません。コード補完などの機能は、IDE各言語の処理方法に関するデータをロードします。
あなたのリポジトリが公開されている(したがって無制限)場合は、プロジェクトスキーマごとに言語ごとのリポジトリ(つまり、「euler_cpp」、「euler_python」など)を選びます。どのサービスを選択するか、リポジトリをどのように構成するかは重要ではありません完全にあなた次第です。
フォルダ構造については、プロジェクトオイラーソリューションの場合:
当てはまるものを1つ選んでください。1つの問題に複数の解決策がある場合は、最初の構造evenを選択してください。他の問題の2つ目の解決策がない場合は、.
更新:
問題ごとに1つのファイルは、実際に適用可能な場合にのみ提案され、オイラー問題を解決するための潜在的なスキーマとして提案されています。これは、質問で指定されている唯一のプロジェクトであるためです。
Btillyのコメントに従って、言語やプラットフォームごとにファイルやフォルダに関する独自の規則や慣習があるため、言語ごとにより良い/より自然な構造を決定する必要があると付け加えます。
自分のリポジトリをホストするという1つのオプションを忘れました。本当に最近まで飛行する唯一の方法でした。
今日使用する必要がある場合、主にプライベートリポジトリとMercurialロックを許可するため、bitbucketを選択します。
Google Code、SourceForge、GitHubをさまざまな時点で使用した後、GitHubは他の2つよりもはるかに優れていると思います。
私の個人的なプロジェクトはそれほど大きくありません(テキストがたくさんあり、グラフィックがありません)。そのため、DropBoxにマスターを含むMercurialリポジトリがあります。これは、バックアップ(DropBoxがなくなっても、所有している各コンピューターにリポジトリのコピーが残っている)と移植性をすぐに開始できる方法です。
配布したいところまでたどり着いたプロジェクトがあるとすれば、可視性を高めるためにいつでもBitbucketに移動できます。オイラープロジェクトソリューションのコードは含まれていません。