Cuando se trata de hospedar sus proyectos personales de desecho, ¿se destaca un servicio y una estructura de proyecto? [cerrado]

12

Estoy viendo Google Code, SourceForge, BitBucket y GitHub, ya que parecen ser los grandes jugadores. Ahora, no he desglosado todas las características que ofrecen, pero realmente estoy buscando un lugar para colocar varios códigos que escribo (mis soluciones para el Proyecto Euler, código que podría escribir para el Código de Golf / Programando Puzzles Stack Exchange, y así sucesivamente) en una ubicación centralizada.

Entonces, mi primera pregunta es: para una situación como esta, ¿destaca un servicio entre los demás?

Una vez que haya elegido un servicio, debo elegir cómo distribuir el código. Hay algunas opciones que veo para configurar los repositorios y proyectos. Un solo repositorio puede contener cualquier número de proyectos; por ejemplo, podría tener un repositorio de "Soluciones de Proyecto Euler de Tom Owens" para todas mis diversas soluciones al Proyecto Euler, con proyectos para cada idioma y entorno en directorios dentro de este repositorio, otro repositorio para mis varias soluciones de Code Kata y así sucesivamente. O podría desglosar algo así por idioma (tenga las soluciones Project Euler en Python en un repositorio, las soluciones PE en Java en otro repositorio y las soluciones Code Kata C ++ en un tercer repositorio).

Mi segunda pregunta: ¿Existen limitaciones o convenciones para determinar cómo debe compartir los ejemplos de código que desea abrir, especialmente en términos de cómo crea sus repositorios? Mi pensamiento es que esto podría ser dictado por el servicio que elija (según las convenciones de la comunidad).

    
pregunta Thomas Owens 01.06.2011 - 18:53

4 respuestas

10

Bitbucket.

Proporcionan un servicio excelente, repositorios privados en su paquete gratuito (más público ilimitado) y responden bastante bien en su rastreador de problemas.

Lo mismo, menos los repositorios privados gratuitos, son ciertos para Github, pero no me gusta inmensamente git. Esa es una preferencia personal, no estoy abogando contra git, si por alguna razón rara que prefieres a Hg, entonces Github es una opción perfectamente válida.

En cuanto a cómo organizar los repositorios, no mezcle idiomas si puede evitarlos. La mayoría de los IDE se basan en la suposición de que un proyecto se basa en un solo idioma (excepto en los proyectos web en los que se espera una combinación de language + html, css & js). No estoy diciendo que el IDE no pueda hacer frente, solo que las funciones como la finalización del código serán un poco más lentas, ya que el IDE tendrá que cargar datos sobre cómo manejar cada idioma.

Si sus repositorios son públicos (por lo tanto, ilimitados), buscaría un repositorio por idioma y por esquema de proyecto, es decir, "euler_cpp", "euler_python", etc. Realmente no importa qué servicio elija, cómo lo haga. Organizar tus repos es completamente tuyo.

En cuanto a la estructura de carpetas, para las soluciones de euler del proyecto:

  • Una carpeta por problema, si planea tener diferentes soluciones para el mismo problema
  • Un archivo por problema, para soluciones individuales

Elija el que corresponda y manténgalo, si por un problema tiene más de una solución, elija la primera estructura incluso si no tiene una segunda solución para cualquier otro problema.

actualización:

El único archivo por problema se propone solo cuando es realmente aplicable y se sugiere como un esquema potencial para las soluciones a los problemas de proyecto de Euler, ya que este es el único proyecto que se especifica en la pregunta.

Según el comentario de btilly, estoy agregando que la mejor / estructura más natural debe decidirse por idioma, ya que cada idioma y / o plataforma tiene sus propias convenciones & Prácticas de archivos y carpetas.

    
respondido por el yannis 01.06.2011 - 19:25
3

Olvidaste una opción: alojar tu propio repositorio. Realmente fue la única forma de volar hasta hace poco.

Si tuviera que usar uno hoy, elegiría bitbucket principalmente porque permiten repositorios privados y rocas mercuriales.

    
respondido por el Wyatt Barnett 01.06.2011 - 23:33
3

Después de usar Google Code, SourceForge y GitHub en diferentes momentos, diría que GitHub es mucho mejor que los otros dos:

  • Se enfoca completamente en el trabajo real de crear y compartir código.
  • El manejo de problemas está habilitado de forma predeterminada, y no solo es fácil de usar, sino que está bien conectado con el código y las solicitudes de extracción.
  • La ayuda para principiantes es excelente, como las instrucciones paso a paso para comenzar con un repositorio y para manejar las solicitudes de extracción.
  • No está destinado para la distribución binaria; esto es mejor manejado por sitios especializados como PyPI.
  • wiki simple en lugar de tener que desarrollar tu propia página web desde cero.
  • Excelente soporte de feed: un único feed para todo lo que me interesa.
  • Comunicación informal y, por lo tanto, legible.
  • Desarrollo muy activo de nuevas características.
respondido por el l0b0 03.06.2011 - 10:54
1

Mis proyectos personales no son muy grandes (mucho texto, no gráficos), así que tengo repositorios de Mercurial con los maestros en DropBox. Es una forma rápida de comenzar con la copia de seguridad (si DropBox desaparece, todavía tengo una copia del repositorio en cada computadora que tengo) y la portabilidad.

Suponiendo que tengo un proyecto que llega al punto donde quiero distribuirlo, siempre puedo moverlo a Bitbucket para una mayor visibilidad. Esto no incluye el código para las soluciones de Euler Project.

    
respondido por el David Thornley 01.06.2011 - 23:41

Lea otras preguntas en las etiquetas