viernes, 30 de julio de 2021

Publicados los nominados de Educa Abanca, 2021

Se han publicado hoy los nominados en la Quinta Edición de los premios Educa Abanca al mejor docente de España en 2021.

Enhorabuena a los nominados, y gracias a los nominadores y a la entidad organizadora, Mundo Educa. Se echan en falta más iniciativas como ésta que promocionen la calidad docente.

viernes, 23 de julio de 2021

20 preguntas que todo ingeniero de software debe hacer cuando se incorpora a un nuevo equipo de trabajo

Cada equipo de trabajo tiene sus propias particularidades, entornos y procedimientos de trabajo. En consecuencia, conviene tener claro las respuestas a una serie de cuestiones, tal y como refiere Thomas Stringer en su artículo 20 Questions a Software Engineer Should Ask When Joining a New Team, y que aconsejo leer para completar los detalles de esta relación.

Cuestiones técnicas

  1. ¿Cómo se compila localmente el software?
  2. ¿Cómo puedo probar localmente el software?
  3. ¿Cómo configuro mi entorno de desarrollo?
  4. ¿Dónde se encuentra el código fuente?
  5. ¿Dónde está el conducto CI/CD y cómo funciona?
  6. ¿Dónde está el product backlog?
  7. ¿Cómo se desarrollan las pruebas de preproducción y producción?
  8. ¿Cómo son las rotaciones y la asignación de tareas entre los desarrolladores?
  9. ¿Dónde está la documentación interna?  

Cuestiones sobre colaboración

  1. ¿Cuál es la labor de cada integrante del equipo?
  2. ¿Cómo se establecen temporalmente los objetivos?
  3. ¿Con quién debo contactar para mis primeras preguntas?
  4. ¿Quién o qué determina las nuevas características?
  5. ¿Cómo se comunica el equipo? 

Cuestiones externas

  1.  ¿Cómo se obtiene el feedback del cliente?
  2.  ¿Cuáles son los acuerdos de servicio para el cliente?
  3. ¿Dónde se encuentra la documentación pública y/o para el cliente?

Cuestiones sobre el enfoque al producto

  1. ¿Cuáles son los puntos débiles que tiene el software actual?
  2. ¿Cuál es el enfoque de los participantes?
  3. ¿Cuál es el ciclo de despliegue del software?

viernes, 9 de julio de 2021

c# 10 y la comprobación de parámetro nulo

Ya hemos visto en entradas previas la importancia de las aserciones, precondiciones y postcondiciones. Entre las precondiciones, es muy común la comprobación de que un parámetro de entrada sea no nulo. Por ejemplo,

 private void process(MyObject myObject) {
 
   if (myObject == null)
      throw new ArgumentNullException("myObject can't be null.");
 
   [...]
}

Este mecanismo supone copiar y pegar código muy similar, que lo que puede ser tedioso fundamentalmente en métodos que emplean varios parámetros de entrada. Para paliar esta situación, c# 10 facilita la expresión doble admiración (!!) para la declaración de un parámetro. De esta forma, incluyendo dicha expresión al final de la declaración del parámetro, el compilador genera el código necesario para la comprobación de su valor nulo, no siendo necesario código explícito.

 private void process(MyObject myObject!!) {

   [...]
}