2012-05-08 10 views
6

Durante el desarrollo, a veces intentaré una técnica o método que no funciona de inmediato. Una vez que decido pasar a otra tarea o probar otra técnica para la misma tarea, nunca estoy seguro de qué hacer con el código que no funciona. Quiero mantenerlo como un registro de lo que probé, así que sé lo que no funcionó o incluso como un punto de partida para intentar que funcione de nuevo.¿Cómo se preserva el código que NO funcionó?

Normalmente, dejo el código en su lugar, comentado y no confirmado en VCS, durante algún tiempo. Esto se convierte en un dolor, sin embargo, ya que desordena el código y tiene que ser esquivado en los compromisos de VCS. Resulta que estoy usando git, que tiene una función de "escondite" para el almacenamiento temporal, pero no estoy seguro de si es un uso apropiado.

¿Cómo maneja el código que desea guardar para la posteridad, pero no lo quiere como parte de su código base de corriente principal?

+0

¿Qué valor tiene el ahorro de código roto/muertos proporcionarle a usted, dada la sobrecarga, no sólo para almacenarlo en algún lugar, sino también para recordar que existe en el primer lugar? ¿Vas a consultar este catálogo de horrores antes de cada registro? ¿Cuánto tiempo hasta ese código malo seguirá siendo relevante? Creo que estás tratando de resolver un problema falso aquí. –

+0

Shaggy Frog: incluso si no lograste alcanzar tu objetivo, probablemente lograste resolver una serie de problemas tangenciales. La necesidad de reutilizar algunas de esas partes más adelante no es solo teórica; su próximo intento probablemente necesite resolver al menos algunos de esos mismos problemas. – tripleee

+0

Acepto que si se hace con todo el código que no funciona, se vuelve inmanejable, pero si se hace con criterio, tiene sentido. Un ejemplo: tratar de usar una nueva característica de un marco, pero aciertas una fecha límite de envío antes de resolverlo. Es posible que desee conservar ese intento de revisión posterior mientras usa un método probado anterior para cumplir con la fecha límite por el momento. –

Respuesta

9

¡Sucursales!

  1. Use las ramas libremente (jQuery_slider_nivo, jQuery_slider_zurb, etc)
  2. Tienes razón que escondite no es el lugar para estar almacenar este código para un periodo de tiempo
  3. Si desea comprobar el código simplemente cambiar a esa rama
  4. Si quieres de vuelta en simplemente fusionar las ramas

también se pueden realizar operaciones de archivo ($ = consola):

  1. archivarlo: $ git checkout -b archivo/<BRANCHNAME> <BRANCHNAME>
  2. Eliminarlo: $ git rama -d <BRANCHNAME>
  3. restaurarla: $ git checkout -b <BRANCHNAME> Archivo/<BRANCHNAME>

donde <BRANCHNAME> TotallyAwesomeBranchName ==

... o lo que usted nombra sus ramas =]

5

Cada vez que inicie una "tarea", cree una rama. Luego puede guardar todas las cosas que probó en esa rama, y ​​el código de trabajo para dominar.

1

Usted probablemente ha creado una rama separada para su función, como feature/doSomethingCool. Ahora puede mover esta rama (no tan frío) fuera de su camino como

git branch -m feature/doSomethingCool archive/doSomethingCool-try1 

y crear una nueva rama de feature/doSomethingCooldevelop. Con el archive/doSomethingCool-try1 -branch, puede hacer lo que quiera, incluso ignorar o eliminar.

+0

(para otros lectores) la opción '-m' es la opción de cambio de nombre de rama, así que con esto, después de un tiempo tendrás' -try1', '-try2', etc. Si tales exploraciones son comunes, comienza con la '-try1', etc. hasta que lo desee, y simplemente cambie el nombre. –

+1

De hecho (y porque de esta manera es más fácil de recordar) significa "mover", pero el efecto sigue siendo el mismo, claro. Voy a vincular a la página de manual pronto. El sufijo '-try1' era simbólico aquí. Recomendaría algo más hablable como 'myFeature-eventDispatcherApproach' – KingCrunch

+0

+1 para" mover ". A menudo pienso en ello como "modificar", cualquier forma de recordar es una buena manera ;-). Nombrar el enfoque también es bueno, aunque estoy seguro de que muchos terminan con -luke1, -luke2, (no hay intento), - luke3 ... –

Cuestiones relacionadas