¿Está haciendo un pequeño cambio, probándolo, luego "enjuague y repita", un mal hábito?

54

Soy un programador con varios años de experiencia. Me di cuenta de que tengo un cierto hábito. No estoy seguro de si es realmente un mal hábito o no.

Obtengo una lista de tareas a realizar para una solución, incluso tareas pequeñas, por ejemplo,

  1. Cambiar los recursos de este control de usuario
  2. Cambiar el tamaño de otro
  3. Agregue algo de HTML y codificación en otro control de usuario

Todas estas tareas son pequeñas. Quiero decir que se pueden hacer en 10 minutos, pero tengo la mala costumbre de hacer pequeños cambios y luego probarlos una y otra vez en un navegador web . ¿Es esta una buena práctica?

¿O debería realizarlos todos a la vez y luego probarlos juntos?

Si realmente es un mal hábito, ¿cómo lo rectifico, ya que se siente como perder el tiempo probando pequeños cambios una y otra vez?

    
pregunta Mathematics 01.08.2014 - 15:34

6 respuestas

129
  • Es una buena práctica.
  • Estás siguiendo el método científico.
  • Si cambia varias cosas antes de cualquier prueba, entonces la prueba de cada una será más difícil y quizás no confiable, ya que las condiciones previas serán más difíciles de preparar y los diferentes cambios pueden interactuar entre sí de maneras que usted no hizo. prever.
  • La vez que sientes que estás "perdiendo" ahora, recuperarás más adelante en las etapas de integración, pruebas y mantenimiento.
  • Camino a seguir.
respondido por el Tulains Córdova 01.08.2014 - 16:31
38

Hacer muchos pequeños cambios y probar cada uno de ellos no es algo malo. Le permite ver el efecto de cada cambio, y luego, cuando un cambio causa un problema, es mucho más fácil saber qué cambio causó problemas, ¡el más reciente!

Si tiene una lista de tareas con 10 elementos, los hace todos a la vez y luego prueba la página y luego se da cuenta de que la página se ve mal, puede ser más difícil saber cuál cambiar rompí la página.

Por supuesto, es posible llevar este enfoque al extremo. Encontrar el equilibrio es la clave, y eso viene a entender mejor a qué estás cambiando y cómo los cambios pueden afectarse entre sí.

    
respondido por el FrustratedWithFormsDesigner 01.08.2014 - 16:19
18

Su pregunta tiene dos partes:

  1.   

    ¿Debo realizarlas todas una vez y luego probarlas juntas?

    Supongo que está utilizando un VCS .
    Y para rastrear, qué tareas se realizaron, tiene sentido distribuir la lista de tareas a una lista de confirmaciones: una tarea, una confirmación .

    Eso facilita la administración de diferentes versiones de la base de código actual; puede volver a un estado anterior, seleccione los cambios que desee para ingresar al troncal principal, etc.

    La respuesta es clara:

    No, realice cambios solo uno por uno, una tarea, una confirmación .

  2.   

    pero tengo el mal hábito de hacer pequeños cambios pequeños y luego probarlos una y otra vez en el navegador web. ¿Es esta una buena práctica?

    Es una buena práctica probar el código / UI lo que sea , pero no tiene sentido hacerlo una y otra vez en el navegador. Existen herramientas para hacerlo automáticamente ( Selenium, PhantomJS / Casper, ZombieJS )

    La respuesta para este caso es:

    Sí, es una buena práctica probar el software más de una vez, pero usar la automatización

respondido por el Thomas Junk 01.08.2014 - 16:34
6

Para cualquier hábito que tenga un desarrollador, hay 2 preguntas principales:

  1. ¿Cómo influye en la calidad del código que crea?
  2. ¿Cómo influye en su productividad?

Si la respuesta a ambos es "Lo mejora", ¡olvídate del hábito, enséñalo a los demás!
Si la respuesta a uno es "Mejor" y el otro "Peor", es un estilo y tienes que ser consciente de ello. No siempre es aplicable, y es posible que deba hacer un esfuerzo para suprimirlo de vez en cuando.
Si la respuesta a ambas es "Negativa", tiene un problema grave.

Por supuesto, para los primeros 2 casos también debería pensar en "¿Se puede automatizar o institucionalizar de alguna manera el efecto positivo?". ¿Tal vez es mejor escribir una prueba que probar diferentes navegadores cada vez? (Tenga en cuenta que sé que no es tan fácil probar el diseño adecuado en el desarrollo web, no estoy diciendo que esto siempre sea posible o que valga la pena).

En este caso particular, me parece que la calidad aumenta, la productividad puede disminuir . Para cambios pequeños es probable que sea algo malo (especialmente si los cambios están interrelacionados), para cambios más grandes, es algo bueno. Siempre y cuando pruebes el resultado final (evita "cada módulo fue probado y funciona, así que todo funciona también, ¡no hay necesidad de probarlo!").

Por lo tanto, a menos que el 90% de su día laboral esté haciendo cambios realmente pequeños, es un hábito perfecto. Si su día de trabajo es así, tal vez quiera revisar su estilo de trabajo (o lugar de trabajo).

    
respondido por el Ordous 01.08.2014 - 17:44
4

Esto depende del dominio. Para diseñar una página web funcionará bien y puede obtener comentarios inmediatos (¡incluso puede hacerlo directamente en el navegador!). De manera similar, funcionaría bien para cualquier cosa que no requiera mucho tiempo para inicializarse. Es preferible, ya que mantiene baja la carga de trabajo mental y reduce la posibilidad de errores.

Sin embargo, para proyectos realmente grandes en los que tiene que compilar el código y el tiempo empleado no es trivial (varios minutos), esto puede resultar en mucho tiempo de inactividad, por lo que a menudo tiene que recurrir a:

  • "paralelice" su flujo de trabajo (por ejemplo, trabaje en varias compilaciones simultáneamente), o
  • hacer tantas cosas como sea posible de una sola vez, o
  • cree una pequeña parte independiente para trabajar e integrarse en el proyecto más grande más adelante.

(Probablemente hay otras formas también).

    
respondido por el Rufflewind 01.08.2014 - 19:49
0

Como han dicho otros, esto definitivamente no es un mal hábito. Generalmente prefiero hacer solo algunas modificaciones a la vez. La única excepción es si tengo una gran lista de cambios que no se afectan entre sí (por ejemplo, cambios en estilos menores o copia, cambios en diferentes páginas, etc.). Si está modificando los diseños, siga haciendo cambios uno por uno para que pueda verificar que todo está al 100% en todos los navegadores compatibles antes de pasar al siguiente problema.

    
respondido por el FreeAsInBeer 01.08.2014 - 18:23

Lea otras preguntas en las etiquetas