¿Realmente hiciste TDD (primero escribiste la prueba y luego escribiste el código prod para que esas pruebas pasen cada vez)? Solo quiero estar seguro de que se ajusta a la categoría TDD y BDD aquí porque no ha hablado mucho sobre su proceso y técnica TDD. Solo hablas de “tener pruebas”. No digo que no lo hayas hecho, pero suena como si hubieras probado después en la forma en que escribiste tu subdescripción. Me suena como si lo hubieras codificado, luego volviste, agregué un montón de pruebas y luego dije hola cliente, aquí está, pagame, me voy de aquí. ¿Sería eso exacto? De lo contrario, elabore más y actualice su subdescripción.
No, aún podría diseñar un código incorrecto si no aplica buenas prácticas de codificación a medida que codifica; TDD no garantiza un código perfecto. Si realmente TDD’d lo que debería haber terminado es una tonelada de otros beneficios, como la retroalimentación de diseño durante todo el tiempo que codifica, y como resultado las pruebas. Pero los comentarios sobre el diseño deberían haberte obligado a repensar tu diseño con más frecuencia, y muchas veces terminas con un código más ágil. ¿es el código “bueno”? No tengo idea, no puedo ver tu código.
Y como dijo Alan, cualquiera puede escribir malas pruebas también.
TDD no es un ser humano, no escribe su código … pero lo obliga a codificar de una manera que es más crítica con su código, encuentra las cosas más pronto que tarde, ayuda a guiarlo, a menudo termina en una mejor prueba cobertura, y terminas con cobertura real durante todo el proceso a medida que codificas, no es algo que agregas después, así que estás seguro de que cada pocas líneas de código que agregues recibirás comentarios todo el tiempo, ya sea que lo hagas o no ‘ He roto algo. Tampoco tendrá una excusa como “agregaremos pruebas más tarde” … y le ofrece incluso mucho más que esto, no puedo cubrir todos los beneficios de TDD en esta respuesta.
Si tiene TDD, lo que le puede ayudar es decirle con confianza a su cliente que sí, cumplí con todos los requisitos. Y también le ayuda a dar mejores estimaciones … porque tiene una mejor medida cuando usa TDD para ayudar a estimar, ya que siempre está (debería estar) atacando características en fragmentos muy pequeños y, en cualquier momento, si el cliente pregunta qué tan avanzado está, puede decir que he hecho tanto código, porque he probado, mis pruebas me dicen que he cubierto muchas partes de la función, etc. En lugar de “oh, terminaré pronto “O” No estoy seguro todavía “, o” Te lo diré en una semana “. Si tiene TDD y tiene pruebas y tiene buenas pruebas y describen los escenarios en los que está trabajando y pasan, puede dar con confianza una mejor estimación o “estado” en el% de finalización de una función. Puedes dejar a ese cliente con “mira, aquí están las pruebas, pasan, cubren lo que querías, lee las pruebas que te dicen exactamente lo que implementé” y deja a ese cliente y a ti mismo con la confianza de que algo se hizo y pueden verlo a través de las pruebas. Ni siquiera tienen que mirar primero el código de producción. Las pruebas les mostrarán que sus especificaciones se realizan si los nombres de sus pruebas están escritos en términos comerciales.
Estoy de acuerdo con Alan, su afirmación sobre “manos libres ahora que me pagan” suena ridícula. Si quieren que lo extiendas más con código, o mantengas algo o busques algo, siempre puedes cobrar por eso. ¿Por qué simplemente lo tomarías y se lo tirarías básicamente y dirías aquí, tómalo, me voy de aquí! Eso es lo que parece, no profesional en absoluto.
¿Qué tiene que ver “una copia de github repo” con algo? Eso ni siquiera tiene sentido? ¿No tienen acceso a su propio repositorio ya que lo poseen? ¿O mantiene todos los repos para sus clientes? ¡Incluso si fuera una mala relación, al menos les ofrecería las llaves de su propio auto y sería cortés al respecto! Les daría acceso de administrador completo a su repositorio o los agregaría como colaboradores si es usted quien mantiene el repositorio de esa compañía. Si mantiene ese repositorio, será mejor que lo apoye, puedo decir eso. Pero no actúes como un imbécil … esa es la actitud que siento podría estar saliendo de la forma en que escribiste la subdescripción de Quora. Si así es como opera solo en general, realmente debería repensar su estrategia de comunicación sobre cómo concluir los proyectos.
Lo que le estás diciendo a tu cliente es realmente extraño, y si yo fuera el cliente, no te volvería a usar TBH.