개인 폐기 프로젝트를 호스팅 할 때 하나의 서비스와 프로젝트 구조가 두드러 집니까? [닫은]


12

Google 코드, SourceForge, BitBucket 및 GitHub를보고 있습니다. 이제는 그들이 제공하는 모든 기능을 세분화하지는 않았지만 실제로 작성한 다양한 코드 (Project Euler의 솔루션, Code Golf /를 위해 작성할 수있는 코드)를 넣을 곳을 찾고 있습니다. 중앙 위치에 프로그래밍 퍼즐 스택 교환 등).

그래서 첫 번째 질문은 다음과 같습니다. 이와 같은 상황에서 하나의 서비스가 다른 서비스 중에서 눈에 띄나요?


서비스를 선택하면 코드 배포 방법을 선택해야합니다. 리포지토리와 프로젝트를 설정하기 위해 볼 수있는 몇 가지 옵션이 있습니다. 단일 저장소는 여러 프로젝트를 보유 할 수 있습니다. 예를 들어 Project Euler에 대한 모든 다양한 솔루션에 대한 "Tom Owens의 Project Euler 솔루션"저장소를 보유 할 수 있으며이 저장소 내의 디렉토리에있는 각 언어 및 환경에 대한 프로젝트와 다른 저장소 다양한 Code Kata 솔루션 등 또는 언어별로 (어떤 저장소에는 Python의 Project Euler 솔루션, 다른 저장소에는 Java의 PE 솔루션, 세 번째 저장소에는 Code Kata C ++ 솔루션이 있습니다.)

두 번째 질문 : 특히 리포지토리를 만드는 방법과 관련하여 공개하도록 선택한 코드 샘플을 공유하는 방법을 결정하는 데 제한이나 규칙이 있습니까? 내 생각은 이것이 (커뮤니티의 규칙에 따라) 선택한 서비스에 의해 지시 될 수 있다는 것입니다.

답변:


10

비트 버킷.

그들은 무료 서비스 (무제한 공개)에 우수한 서비스, 개인 저장소를 제공하며 문제 추적기에 매우 반응이 좋습니다.

무료 개인 저장소를 뺀 것과 마찬가지로 Github에서도 마찬가지이지만 나는 git을 대단히 싫어합니다. 그것은 개인적인 취향입니다 .git에 대해 옹호하지는 않습니다. 이상한 이유로 hg보다 선호하는 경우 Github은 완벽하게 유효한 선택입니다.

리포지토리를 구성하는 방법은 피할 수 있다면 언어를 섞지 마십시오. 대부분의 IDE는 프로젝트가 단일 언어로 빌드되었다는 가정을 기반으로 구축되었습니다 (언어 + html, css 및 js의 조합이 예상되는 웹 프로젝트 제외). IDE가 대처할 수 없다고 말하는 것은 아닙니다. IDE가 각 언어를 처리하는 방법에 대한 데이터를로드해야하기 때문에 코드 완성과 같은 기능이 약간 느려질 것입니다.

귀하의 리포지토리가 공개적이므로 (따라서 무제한) 프로젝트 스키마별로 언어별로 리포지토리 (예 : "euler_cpp", "euler_python")를 선택합니다. 어떤 서비스를 선택하는지, 리포지토리 구성 방법은 실제로 중요하지 않습니다. 완전히 당신에게 달려 있습니다.

폴더 구조, 프로젝트 오일러 솔루션의 경우 :

  • 동일한 문제에 대해 다른 솔루션을 계획 할 경우 문제 별 폴더
  • 단일 솔루션을위한 문제 별 파일

하나의 문제에 대해 하나 이상의 솔루션이있는 경우 다른 문제에 대한 두 번째 솔루션이없는 경우 에도 첫 번째 구조를 선택하십시오 .

최신 정보:

문제당 하나의 파일은 실제로 적용 가능한 경우에만 제안되며 문제에 지정된 유일한 프로젝트이므로 오일러 문제를 해결하기위한 솔루션의 잠재적 스키마로 제안됩니다.

btilly의 의견에 따라 각 언어 및 / 또는 플랫폼에는 파일 및 폴더에 대한 자체 규칙 및 관례가 있으므로 언어별로 더 좋고 더 자연스러운 구조를 결정해야한다고 덧붙입니다.


1
폴더 구조는 언어에 따라 달라집니다. 스크립팅 언어를 사용하는 사람은 C / C ++에서 폴더의 여러 파일에 걸쳐 자연스럽게 작성되는 하나의 파일에 코드를 자주 작성합니다.
— btilly 2016 년

@btilly 맞습니다. 답변에 귀하의 의견을 추가하고 있습니다 ...
— yannis

실제로 프로젝트 내에서 파일을 배치하는 방법을 구체적으로 찾고 있지 않았지만 사용되는 서비스 내에서 여러 프로젝트를 배치하는 방법을 찾고있었습니다.
— Thomas Owens

@Thomas REPOS을 구성하는 방법에 관해서는 ... . 일반적으로 저장소 당 하나의 프로젝트가 있습니다. 각 서비스에 대한 구체적인 지침을 찾고 있습니까?
— yannis 2016 년

내가 찾고있는 것은 평범하지 않은 것이 있다면 각 커뮤니티 내에 존재하는 협약입니다. 내 경험상 BitBucket, GitHub 및 SourceForge와 같은 것은 단순한 서비스보다는 규범과 규칙을 가진 커뮤니티입니다. (일부 사람들은 서비스처럼 사용합니다).
— Thomas Owens

3

하나의 옵션을 잊어 버렸습니다-자신의 저장소를 호스팅합니다. 최근까지 비행 할 수있는 유일한 방법은 정말이었습니다.

오늘 하나를 사용해야한다면 주로 개인 저장소와 수은 암석을 허용하기 때문에 비트 버킷을 선택합니다.


나는 많은 고통없이 VisualSVN으로 이것을했습니다.
— 코디 샌드

거기에 있었다. turnkeylinux.org 어플라이언스를 사용 하면 더욱 효과적 일 수 있습니다 . .
— Wyatt Barnett

3

다른 시점에서 Google 코드, SourceForge 및 GitHub를 사용한 후 GitHub이 다른 두 가지보다 훨씬 낫습니다.

  • 코드를 만들고 공유하는 실제 작업에 전적으로 집중합니다.
  • 이슈 처리는 기본적으로 활성화되어 있으며 사용이 간단 할뿐만 아니라 코드 및 풀 요청과도 잘 연결되어 있습니다.
  • 리포지토리 시작 및 풀 요청 처리에 대한 단계별 지침과 같은 초보자 도움말이 훌륭합니다.
  • 이진 배포를위한 것은 아닙니다. 이것은 PyPI와 같은 전문 사이트에서 더 잘 처리됩니다.
  • 처음부터 자신의 웹 페이지를 개발할 필요없이 간단한 위키.
  • 뛰어난 피드 지원-흥미로운 모든 것을위한 단일 피드.
  • 비공식적이고 읽기 쉬운 커뮤니케이션.
  • 새로운 기능의 매우 적극적인 개발.

또한 Github은 Gist를 사용하여 Project Euler 솔루션 및 코드 골프 스 니펫과 같은 것을 저장하는 데 적합합니다.
— 매트 엘렌

1

내 개인 프로젝트는 그리 크지 않고 (많은 텍스트, 그래픽 없음) DropBox의 마스터와 함께 Mercurial 저장소가 있습니다. 백업을 시작하는 가장 빠른 방법입니다 (DropBox가 사라지면 여전히 소유 한 각 컴퓨터에 리포지토리의 복사본이 있습니다) 및 이식성.

배포하려는 지점에 도달 한 프로젝트가 있다고 가정하면 가시성을 높이기 위해 항상 Bitbucket으로 옮길 수 있습니다. Euler Project 솔루션 용 코드는 포함되어 있지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.